کتابخانه‌ی استاندارد · شبکه

پست الکترونیک شبکه net/email

فرستادن ایمیل با SMTP و خواندن آن با IMAP و POP3.

واردسازی شبکه.پست الکترونیک شبکه
در این صفحه
  1. گونه‌ها
  2. روال‌ها

برای فرستادن ایمیل، ساده‌ترین راه ارسال است. برای کنترل بیشتر، مثل چند گیرنده، کارخواه SMTP را گام‌به‌گام به کار ببرید. برای خواندن صندوق، IMAP پیام‌ها را روی کارگزار نگه می‌دارد و POP3 آن‌ها را برمی‌دارد.

بیشتر کارگزارها فقط اتصال رمزشده می‌پذیرند؛ روال‌های اتصال امن ... یا شروع تی‌ال‌اس را به کار ببرید. نمونه‌ی کارخواه‌ها فقط کامپایل می‌شود، چون به کارگزار واقعی نیاز دارد.

گونه‌ها

کارخواه آی‌مپ IMAPClient

ساختار کارخواه آی‌مپ
کارخواه IMAP برای خواندن صندوق پستی.
نامانگلیسیگونهتوضیح
connconntcp.Connاتصال.
securesecureمنطقی = نادرسترمزشده است.
tls_idxtls_idxصحیح = -1شناسه‌ی درونی TLS.
okokمنطقی = نادرستاتصال برقرار است.
rxbufrxbufرشته = ""داده‌ی خوانده‌نشده.
tag_countertag_counterصحیح = 0شمارنده‌ی برچسب دستورها.
net-email-Clients.salam
واردسازی شبکه.پست الکترونیک شبکه

روال ریشه:
    ناپایا س := پست الکترونیک شبکه.اتصال امن اس‌ام‌تی‌پی("smtp.example.com"، ۴۶۵)
    اگر س.ok و پست الکترونیک شبکه.سلام(س، "example.com") و پست الکترونیک شبکه.ورود با احراز هویت(س، "ali"، "رمز"):
        _ := پست الکترونیک شبکه.فرستنده(س، "[email protected]")
        _ := پست الکترونیک شبکه.گیرنده(س، "[email protected]")
        _ := پست الکترونیک شبکه.داده(س، پست الکترونیک شبکه.ساخت پیام("[email protected]"، "[email protected]"، "سلام"، "متن"، ""))
    پایان
    پست الکترونیک شبکه.خروج اس‌ام‌تی‌پی(س)
    ناپایا س۲ := پست الکترونیک شبکه.اتصال اس‌ام‌تی‌پی("smtp.example.com"، ۵۸۷)
    _ := پست الکترونیک شبکه.شروع تی‌ال‌اس(س۲، "smtp.example.com")
    _ := پست الکترونیک شبکه.ورود ساده(س۲، "ali"، "رمز")
    _ := پست الکترونیک شبکه.احراز هویت ایکس‌اواث۲(س۲، "ali"، "token")
    سرچاپ س۲.last_reply
    _ := پست الکترونیک شبکه.ارسال("smtp.example.com"، ۴۶۵، درست، "ali"، "رمز"، "[email protected]"، "[email protected]"، "سلام"، "متن"، "")
    ناپایا ی := پست الکترونیک شبکه.اتصال امن آی‌مپ("imap.example.com"، ۹۹۳)
    _ := پست الکترونیک شبکه.ورود(ی، "ali"، "رمز")
    _ := پست الکترونیک شبکه.ورود ایکس‌اواث۲(ی، "ali"، "token")
    سرچاپ پست الکترونیک شبکه.فهرست صندوق‌ها(ی، ""، "*")
    _ := پست الکترونیک شبکه.انتخاب(ی، "INBOX")
    سرچاپ پست الکترونیک شبکه.دریافت پیام‌ها(ی، "1:5"، "(FLAGS BODY[HEADER.FIELDS (SUBJECT)])")
    پ := پست الکترونیک شبکه.دستور(ی، "NOOP")
    سرچاپ پ.ok، پ.status، پ.lines.طول()
    پست الکترونیک شبکه.خروج آی‌مپ(ی)
    _ := پست الکترونیک شبکه.اتصال آی‌مپ("imap.example.com"، ۱۴۳)
    ناپایا پاپ := پست الکترونیک شبکه.اتصال امن پاپ۳("pop.example.com"، ۹۹۵)
    _ := پست الکترونیک شبکه.کاربر(پاپ، "ali")
    _ := پست الکترونیک شبکه.گذرواژه(پاپ، "رمز")
    سرچاپ پست الکترونیک شبکه.وضعیت(پاپ)، پست الکترونیک شبکه.فهرست پیام‌های پاپ۳(پاپ)
    سرچاپ پست الکترونیک شبکه.دریافت پیام پاپ۳(پاپ، ۱)
    _ := پست الکترونیک شبکه.حذف(پاپ، ۱)
    پست الکترونیک شبکه.خروج پاپ۳(پاپ)
    _ := پست الکترونیک شبکه.اتصال پاپ۳("pop.example.com"، ۱۱۰)
پایان

پاسخ آی‌مپ IMAPReply

ساختار پاسخ آی‌مپ
پاسخ یک دستور IMAP.
نامانگلیسیگونهتوضیح
okokمنطقی = نادرستپاسخ OK بود.
statusstatusرشته = ""خط وضعیت پایانی.
lineslinesوکتور<رشته>خط‌های پاسخ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

کارخواه اس‌ام‌تی‌پی SMTPClient

ساختار کارخواه اس‌ام‌تی‌پی
کارخواه SMTP برای فرستادن ایمیل.
نامانگلیسیگونهتوضیح
connconntcp.Connاتصال.
securesecureمنطقی = نادرسترمزشده است.
tls_idxtls_idxصحیح = -1شناسه‌ی درونی TLS.
okokمنطقی = نادرستاتصال برقرار است.
rxbufrxbufرشته = ""داده‌ی خوانده‌نشده.
last_replylast_replyرشته = ""آخرین پاسخ کارگزار؛ برای خطایابی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

کارخواه پاپ۳ POP3Client

ساختار کارخواه پاپ۳
کارخواه POP3 برای برداشتن ایمیل.
نامانگلیسیگونهتوضیح
connconntcp.Connاتصال.
securesecureمنطقی = نادرسترمزشده است.
tls_idxtls_idxصحیح = -1شناسه‌ی درونی TLS.
okokمنطقی = نادرستاتصال برقرار است.
rxbufrxbufرشته = ""داده‌ی خوانده‌نشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

روال‌ها

اتصال آی‌مپ DialIMAP

روال اتصال آی‌مپ(host: رشته، port: صحیح): کارخواه آی‌مپ
به کارگزار IMAP وصل می‌شود، معمولاً درگاه ۱۴۳.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

اتصال امن آی‌مپ DialIMAPTLS

روال اتصال امن آی‌مپ(host: رشته، port: صحیح): کارخواه آی‌مپ
رمزشده وصل می‌شود، معمولاً درگاه ۹۹۳.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

دستور Command

روال دستور(c &: کارخواه آی‌مپ، cmd: رشته): پاسخ آی‌مپ
یک دستور IMAP دلخواه می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ورود Login

روال ورود(c &: کارخواه آی‌مپ، username: رشته، password: رشته): منطقی
با نام کاربری و گذرواژه وارد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ورود ایکس‌اواث۲ LoginXOAuth2

روال ورود ایکس‌اواث۲(c &: کارخواه آی‌مپ، username: رشته، access_token: رشته): منطقی
با توکن OAuth وارد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

انتخاب Select

روال انتخاب(c &: کارخواه آی‌مپ، mailbox: رشته): منطقی
یک صندوق، مثل INBOX، را برای کار انتخاب می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

فهرست صندوق‌ها List

روال فهرست صندوق‌ها(c &: کارخواه آی‌مپ، reference: رشته، pattern: رشته): وکتور<رشته>
نام صندوق‌ها را فهرست می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

دریافت پیام‌ها Fetch

روال دریافت پیام‌ها(c &: کارخواه آی‌مپ، seq: رشته، items: رشته): وکتور<رشته>
پیام‌ها یا بخش‌هایی از آن‌ها را می‌گیرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

خروج آی‌مپ Logout

روال خروج آی‌مپ(c &: کارخواه آی‌مپ)
خارج می‌شود و اتصال را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ساخت ایکس‌اواث۲ BuildXOAuth2

روال ساخت ایکس‌اواث۲(username: رشته، access_token: رشته): رشته
رشته‌ی ورود XOAUTH2 را برای ورود با توکن OAuth، مثل جیمیل، به پایه‌۶۴ می‌سازد.
net-email-Message.salam
واردسازی شبکه.پست الکترونیک شبکه
واردسازی رشته

روال ریشه:
    پیام := پست الکترونیک شبکه.ساخت پیام("[email protected]"، "[email protected]"، "سلام"، "متن ساده"، "<p>متن <b>زیبا</b></p>")
    هر خط در رشته.تفکیک کردن(پیام، "\r\n"):
        اگر رشته.شروع با(خط، "From:") یا رشته.شروع با(خط، "To:") یا رشته.شروع با(خط، "MIME-Version:") یا رشته.شروع با(خط، "Subject:"):
            سرچاپ خط
        پایان
    پایان
    سرچاپ رشته.شامل است(پیام، "multipart/alternative")
    سرچاپ پست الکترونیک شبکه.ساخت ایکس‌اواث۲("[email protected]"، "ya29.token")
پایان
خروجیFrom: [email protected] To: [email protected] Subject: سلام MIME-Version: 1.0 true dXNlcj1hbGlAZXhhbXBsZS5jb20BYXV0aD1CZWFyZXIgeWEyOS50b2tlbgEB

اتصال اس‌ام‌تی‌پی DialSMTP

روال اتصال اس‌ام‌تی‌پی(host: رشته، port: صحیح): کارخواه اس‌ام‌تی‌پی
به کارگزار SMTP وصل می‌شود، معمولاً درگاه ۵۸۷ یا ۲۵.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

اتصال امن اس‌ام‌تی‌پی DialSMTPTLS

روال اتصال امن اس‌ام‌تی‌پی(host: رشته، port: صحیح): کارخواه اس‌ام‌تی‌پی
از ابتدا رمزشده وصل می‌شود، معمولاً درگاه ۴۶۵.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

سلام Hello

روال سلام(c &: کارخواه اس‌ام‌تی‌پی، domain: رشته): منطقی
سلام EHLO را با نام دامنه‌ی فرستنده می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

شروع تی‌ال‌اس StartTLS

روال شروع تی‌ال‌اس(c &: کارخواه اس‌ام‌تی‌پی، host: رشته): منطقی
اتصال ساده را با STARTTLS رمزشده می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ورود با احراز هویت AuthLogin

روال ورود با احراز هویت(c &: کارخواه اس‌ام‌تی‌پی، username: رشته، password: رشته): منطقی
با روش LOGIN وارد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ورود ساده AuthPlain

روال ورود ساده(c &: کارخواه اس‌ام‌تی‌پی، username: رشته، password: رشته): منطقی
با روش PLAIN وارد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

احراز هویت ایکس‌اواث۲ AuthXOAuth2

روال احراز هویت ایکس‌اواث۲(c &: کارخواه اس‌ام‌تی‌پی، username: رشته، access_token: رشته): منطقی
با توکن OAuth وارد می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

فرستنده MailFrom

روال فرستنده(c &: کارخواه اس‌ام‌تی‌پی، addr: رشته): منطقی
نشانی فرستنده را اعلام می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

گیرنده RcptTo

روال گیرنده(c &: کارخواه اس‌ام‌تی‌پی، addr: رشته): منطقی
یک گیرنده اضافه می‌کند؛ برای چند گیرنده چند بار صدا بزنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

داده Data

روال داده(c &: کارخواه اس‌ام‌تی‌پی، raw_message: رشته): منطقی
متن کامل پیام را می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

خروج اس‌ام‌تی‌پی Quit

روال خروج اس‌ام‌تی‌پی(c &: کارخواه اس‌ام‌تی‌پی)
جلسه را تمام می‌کند و اتصال را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

ساخت پیام BuildMessage

روال ساخت پیام(from: رشته، to_addr: رشته، subject: رشته، text_body: رشته، html_body: رشته): رشته
یک پیام ایمیل کامل با سرآیندهای From، To و Subject می‌سازد. اگر هم متن ساده و هم HTML بدهید، پیام multipart/alternative می‌شود تا هر برنامه‌ی ایمیل نسخه‌ی مناسب خودش را نشان دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Message.salam

ارسال Send

روال ارسال(host: رشته، port: صحیح، use_tls: منطقی، username: رشته، password: رشته، from: رشته، to_addr: رشته، subject: رشته، text_body: رشته، html_body: رشته): منطقی
ایمیل را در یک گام می‌فرستد: وصل می‌شود، وارد می‌شود و پیام را می‌فرستد. اگر use_tls درست باشد، از ابتدا رمزشده وصل می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

اتصال پاپ۳ DialPOP3

روال اتصال پاپ۳(host: رشته، port: صحیح): کارخواه پاپ۳
به کارگزار POP3 وصل می‌شود، معمولاً درگاه ۱۱۰.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

اتصال امن پاپ۳ DialPOP3TLS

روال اتصال امن پاپ۳(host: رشته، port: صحیح): کارخواه پاپ۳
رمزشده وصل می‌شود، معمولاً درگاه ۹۹۵.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

کاربر User

روال کاربر(c &: کارخواه پاپ۳، username: رشته): منطقی
نام کاربری را می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

گذرواژه Pass

روال گذرواژه(c &: کارخواه پاپ۳، password: رشته): منطقی
گذرواژه را می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

وضعیت Stat

روال وضعیت(c &: کارخواه پاپ۳): رشته
تعداد و اندازه‌ی کل پیام‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

فهرست پیام‌های پاپ۳ POP3List

روال فهرست پیام‌های پاپ۳(c &: کارخواه پاپ۳): وکتور<رشته>
فهرست پیام‌ها با اندازه‌شان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

دریافت پیام پاپ۳ Retr

روال دریافت پیام پاپ۳(c &: کارخواه پاپ۳، msgnum: صحیح): رشته
متن کامل یک پیام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

حذف Dele

روال حذف(c &: کارخواه پاپ۳، msgnum: صحیح): منطقی
پیام را برای حذف علامت می‌زند؛ با خروج حذف می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam

خروج پاپ۳ POP3Quit

روال خروج پاپ۳(c &: کارخواه پاپ۳)
خارج می‌شود و حذف‌ها را قطعی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam