پست الکترونیک شبکه net/email
فرستادن ایمیل با SMTP و خواندن آن با IMAP و POP3.
واردسازی شبکه.پست الکترونیک شبکه
برای فرستادن ایمیل، سادهترین راه ارسال است. برای کنترل بیشتر، مثل چند گیرنده، کارخواه SMTP را گامبهگام به کار ببرید. برای خواندن صندوق، IMAP پیامها را روی کارگزار نگه میدارد و POP3 آنها را برمیدارد.
بیشتر کارگزارها فقط اتصال رمزشده میپذیرند؛ روالهای اتصال امن ... یا شروع تیالاس را به کار ببرید. نمونهی کارخواهها فقط کامپایل میشود، چون به کارگزار واقعی نیاز دارد.
گونهها
کارخواه آیمپ IMAPClient
ساختار کارخواه آیمپ| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| conn | conn | tcp.Conn | اتصال. |
| secure | secure | منطقی = نادرست | رمزشده است. |
| tls_idx | tls_idx | صحیح = -1 | شناسهی درونی TLS. |
| ok | ok | منطقی = نادرست | اتصال برقرار است. |
| rxbuf | rxbuf | رشته = "" | دادهی خواندهنشده. |
| tag_counter | tag_counter | صحیح = 0 | شمارندهی برچسب دستورها. |
واردسازی شبکه.پست الکترونیک شبکه
روال ریشه:
ناپایا س := پست الکترونیک شبکه.اتصال امن اسامتیپی("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
ساختار پاسخ آیمپ| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | پاسخ OK بود. |
| status | status | رشته = "" | خط وضعیت پایانی. |
| lines | lines | وکتور<رشته> | خطهای پاسخ. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
کارخواه اسامتیپی SMTPClient
ساختار کارخواه اسامتیپی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| conn | conn | tcp.Conn | اتصال. |
| secure | secure | منطقی = نادرست | رمزشده است. |
| tls_idx | tls_idx | صحیح = -1 | شناسهی درونی TLS. |
| ok | ok | منطقی = نادرست | اتصال برقرار است. |
| rxbuf | rxbuf | رشته = "" | دادهی خواندهنشده. |
| last_reply | last_reply | رشته = "" | آخرین پاسخ کارگزار؛ برای خطایابی. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
کارخواه پاپ۳ POP3Client
ساختار کارخواه پاپ۳| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| conn | conn | tcp.Conn | اتصال. |
| secure | secure | منطقی = نادرست | رمزشده است. |
| tls_idx | tls_idx | صحیح = -1 | شناسهی درونی TLS. |
| ok | ok | منطقی = نادرست | اتصال برقرار است. |
| rxbuf | rxbuf | رشته = "" | دادهی خواندهنشده. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
روالها
اتصال آیمپ DialIMAP
روال اتصال آیمپ(host: رشته، port: صحیح): کارخواه آیمپنمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
اتصال امن آیمپ DialIMAPTLS
روال اتصال امن آیمپ(host: رشته، port: صحیح): کارخواه آیمپنمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
دستور Command
روال دستور(c &: کارخواه آیمپ، cmd: رشته): پاسخ آیمپنمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
ورود Login
روال ورود(c &: کارخواه آیمپ، username: رشته، password: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
ورود ایکساواث۲ LoginXOAuth2
روال ورود ایکساواث۲(c &: کارخواه آیمپ، username: رشته، access_token: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
انتخاب Select
روال انتخاب(c &: کارخواه آیمپ، mailbox: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: 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: رشته): رشتهواردسازی شبکه.پست الکترونیک شبکه
واردسازی رشته
روال ریشه:
پیام := پست الکترونیک شبکه.ساخت پیام("[email protected]"، "[email protected]"، "سلام"، "متن ساده"، "<p>متن <b>زیبا</b></p>")
هر خط در رشته.تفکیک کردن(پیام، "\r\n"):
اگر رشته.شروع با(خط، "From:") یا رشته.شروع با(خط، "To:") یا رشته.شروع با(خط، "MIME-Version:") یا رشته.شروع با(خط، "Subject:"):
سرچاپ خط
پایان
پایان
سرچاپ رشته.شامل است(پیام، "multipart/alternative")
سرچاپ پست الکترونیک شبکه.ساخت ایکساواث۲("[email protected]"، "ya29.token")
پایاناتصال اسامتیپی DialSMTP
روال اتصال اسامتیپی(host: رشته، port: صحیح): کارخواه اسامتیپینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
اتصال امن اسامتیپی DialSMTPTLS
روال اتصال امن اسامتیپی(host: رشته، port: صحیح): کارخواه اسامتیپینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
سلام Hello
روال سلام(c &: کارخواه اسامتیپی، domain: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
شروع تیالاس StartTLS
روال شروع تیالاس(c &: کارخواه اسامتیپی، host: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
ورود با احراز هویت AuthLogin
روال ورود با احراز هویت(c &: کارخواه اسامتیپی، username: رشته، password: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
ورود ساده AuthPlain
روال ورود ساده(c &: کارخواه اسامتیپی، username: رشته، password: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-email-Clients.salam
احراز هویت ایکساواث۲ AuthXOAuth2
روال احراز هویت ایکساواث۲(c &: کارخواه اسامتیپی، username: رشته، access_token: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: 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: رشته): رشته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: صحیح): کارخواه پاپ۳نمونهی این مورد همراه با موارد بالاتر آمده است: 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