国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用SMTP協(xié)議發(fā)送郵件

這篇具有很好參考價值的文章主要介紹了使用SMTP協(xié)議發(fā)送郵件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

劇情介紹

今天心血來潮,學(xué)了一下Python3,里面有個章節(jié)是發(fā)送郵件,用示例里面的代碼,運行后報錯,然后記錄一下問題是如何解決的,大家可以看一下,可以有效避坑。

SMTP簡介

SMTP是一種提供可靠且有效的電子郵件傳輸?shù)膮f(xié)議。SMTP是建立在FTP文件傳輸服務(wù)上的一種郵件服務(wù),主要用于系統(tǒng)之間的郵件信息傳遞,并提供有關(guān)來信的通知。SMTP獨立于特定的傳輸子系統(tǒng),且只需要可靠有序的數(shù)據(jù)流信道支持,SMTP的重要特性之一是其能跨越網(wǎng)絡(luò)傳輸郵件,即“SMTP郵件中繼”。使用SMTP,可實現(xiàn)相同網(wǎng)絡(luò)處理進程之間的郵件傳輸,也可通過中繼器或網(wǎng)關(guān)實現(xiàn)某處理進程與其他網(wǎng)絡(luò)之間的郵件傳輸。

使用SMTP協(xié)議發(fā)送郵件

SMTP協(xié)議介紹

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。

python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對smtp協(xié)議進行了簡單的封裝。

Python創(chuàng)建 SMTP 對象語法如下:

import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

參數(shù)說明:

  • host: SMTP 服務(wù)器主機。 你可以指定主機的ip地址或者域名如:runoob.com,這個是可選參數(shù)。
  • port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務(wù)使用的端口號,一般情況下SMTP端口號為25。
  • local_hostname: 如果SMTP在你的本機上,你只需要指定服務(wù)器地址為 localhost 即可。

Python SMTP對象使用sendmail方法發(fā)送郵件,語法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]

參數(shù)說明:

  • from_addr: 郵件發(fā)送者地址。
  • to_addrs: 字符串列表,郵件發(fā)送地址。
  • msg: 發(fā)送消息

這里要注意一下第三個參數(shù),msg是字符串,表示郵件。我們知道郵件一般由標(biāo)題、發(fā)信人、收件人、郵件內(nèi)容、附件等構(gòu)成,發(fā)送郵件時需要注意msg的格式,這個格式就是smtp協(xié)議中定義的格式。

使用騰訊SMTP協(xié)議發(fā)送郵件,注意事項列表

發(fā)送普通文本郵件

# SMTP發(fā)送郵件
import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = '923284735@qq.com'
password = 'hcwpwdbppbqhbg'
receiver = 'pgqybfq@163.com'

message = MIMEText('Python 郵件發(fā)送測試', 'plain', 'utf-8')
message['From'] = sender
message['To'] = receiver
message['Subject'] = Header('Python SMTP 郵件測試', 'utf-8')

try:
    smtpObj = smtplib.SMTP('smtp.qq.com')
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, ['2314728477@qq.com', 'pgqybfq@163.com'], message.as_string())
    print("郵件發(fā)送成功")

except smtplib.SMTPException as error:
    print("Error:無法發(fā)送郵件{0}", error)

登陸163郵箱查看是否成功發(fā)送,如下:
使用SMTP協(xié)議發(fā)送郵件
使用SMTP協(xié)議發(fā)送郵件

發(fā)送HTML格式郵件

# 發(fā)送HTML格式的郵件
import smtplib
from email.mime.text import MIMEText
from email.header import Header


sender = '923284735@qq.com'
password = 'hcwpwdbppbqhbg'
receiver = 'pgqybfq@163.com'

htmlContent = "<a 
messageHtml = MIMEText(htmlContent, 'html', 'utf-8')
messageHtml['From'] = sender
messageHtml['To'] = receiver
messageHtml['Subject'] = Header(htmlContent, 'utf-8')

try:
    smtpObj = smtplib.SMTP('smtp.qq.com')
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, receiver, messageHtml.as_string())
    print("HTML郵件發(fā)送成功")
except smtplib.SMTPException as err:
    print("HTML郵件發(fā)送出現(xiàn)了錯誤:{0}", err)

登陸163郵箱查看是否成功發(fā)送,如下:
使用SMTP協(xié)議發(fā)送郵件
使用SMTP協(xié)議發(fā)送郵件

發(fā)送帶附件的郵件

# 發(fā)送帶附件的郵件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header

sender = '923284735@qq.com'
password = 'hcwpwdbppbqhbg'
receiver = 'pgqybfq@163.com'
fileName = 'wallhaven-1p8e3v.jpg'
fileName1 = 'wallhaven-yxgx6l.jpg'

message = MIMEMultipart()
message['From'] = sender
message['To'] = receiver
message['Subject'] = Header('Python 郵件測試', 'utf-8')

message.attach(MIMEText('Python 郵件發(fā)送測試', 'plain', 'utf-8'))
file = MIMEText(open('/Users/cainiao007/Downloads/' + fileName, 'rb').read(), 'base64', 'utf-8')
file['Content-Type'] = 'application/octet-stream'
file['Content-Disposition'] = 'attachment; filename=' + fileName
message.attach(file)

file1 = MIMEText(open('/Users/cainiao007/Downloads/' + fileName1, 'rb').read(), 'base64', 'utf-8')
file1['Content-Type'] = 'application/octet-stream'
file1['Content-Disposition'] = 'attachment; filename=' + fileName1
message.attach(file1)

try:
    smtpObj = smtplib.SMTP('smtp.qq.com')
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, receiver, message.as_string())
    print('附件郵件發(fā)送成功!')
except smtplib.SMTPException as err:
    print('帶附件郵件發(fā)送失?。簕0}', err)

登陸163郵箱查看是否成功發(fā)送,如下:
使用SMTP協(xié)議發(fā)送郵件
使用SMTP協(xié)議發(fā)送郵件
使用SMTP協(xié)議發(fā)送郵件文章來源地址http://www.zghlxwxcb.cn/news/detail-454919.html

到了這里,關(guān)于使用SMTP協(xié)議發(fā)送郵件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python SMTP發(fā)送郵件和線程

    Python SMTP發(fā)送郵件和線程

    SMTP(Simple Mail Transfer Protocol)即 簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式 。 python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對smtp協(xié)議進行了簡單的封裝。 Python創(chuàng)建 SMTP 對象語法如下: 參數(shù)說明: host: SMTP 服

    2023年04月11日
    瀏覽(20)
  • smtp 通過465端口發(fā)送郵件失敗

    注意:此處因為服務(wù)器配置smtps端口是465,方才有上述結(jié)論,若是手動配置了其他端口作smtps的安全端口,同理需要?properties.put(\\\"mail.smtp.ssl.enable\\\", \\\"true\\\");

    2024年02月09日
    瀏覽(18)
  • C# SMTP 郵件發(fā)送傻瓜操作

    ? /// summary ?/// 發(fā)送郵件的方法 ?/// /summary ?public OperateResultint SendMail(MailModel mails) ?{ ? ? ?var resultData = new OperateResultint(); ? ? ?if (mails.to == null || !mails.to.Any()) ? ? ?{ ? ? ? ? ?resultData.Status = OperateStatus.Failure; ? ? ? ? ?resultData.Description = \\\"收件人地址不能為空\\\"; ? ? ? ?

    2024年01月19日
    瀏覽(20)
  • QQ 郵箱使用 SMTP 發(fā)送郵件報錯:550 The From header is missing or invalid

    QQ 郵箱使用 SMTP 發(fā)送郵件報錯:550 The From header is missing or invalid

    QQ 郵箱使用 SMTP 發(fā)送郵件報錯: 550 The From header is missing or invalid : 源碼( pthon 3.12 ) 看到 QQ 郵箱對 header 中的 from 有合法性校驗,我們的字段格式符合要求,懷疑是字符編碼問題。 通過打印封裝的 message 查看我們的 From 字段亂碼,去掉 utf-8 編碼。 再次測試,正常發(fā)送郵件

    2024年04月16日
    瀏覽(23)
  • 使用SpringBoot + JavaMailSender 發(fā)送郵件報錯 Mail server connection failed;Could not connect to SMTP host

    在 application.yml 中將郵件配置為 SSL 連接 yml 如果你使用的是 properties 文件,應(yīng)該修改為: properties 推薦一個 yml、properties 文件在線轉(zhuǎn)換的網(wǎng)站? 在線yaml轉(zhuǎn)properties-在線properties轉(zhuǎn)yaml-ToYaml.com ? 來源:https://www.cnblogs.com/songjilong/p/12577010.html

    2024年02月04日
    瀏覽(25)
  • SMTP郵件發(fā)送圖片-如何在github中存儲圖片并訪問

    SMTP郵件發(fā)送圖片-如何在github中存儲圖片并訪問

    之前寫了一篇文章 Go:實現(xiàn)SMTP郵件發(fā)送訂閱功能(包含163郵箱、163企業(yè)郵箱、谷歌gmail郵箱),實現(xiàn)了通過郵箱服務(wù)來發(fā)送郵件,但都是文字內(nèi)容,要是想實現(xiàn)郵件發(fā)送圖片,就需要將圖片放到公網(wǎng)可訪問的服務(wù)器,這里用了騷操作。 實現(xiàn)郵件群發(fā)功能,來發(fā)送項目的周報及

    2024年02月06日
    瀏覽(25)
  • java SMTP郵件發(fā)送,修復(fù)SSL下465端口Could not connect to SMTP

    java SMTP郵件發(fā)送,修復(fù)SSL下465端口Could not connect to SMTP

    起因:開發(fā)郵件發(fā)送系統(tǒng)時,使用25端口能夠正常發(fā)送郵件,啟用SSL使用465端口時,發(fā)送郵件報Could not connect to SMTP host: smtp.qiye.aliyun.com, port: 465的錯誤。 由于25端口可以正常發(fā)送郵件,所以可以保證賬號和網(wǎng)絡(luò)是通的,那么可能就出在465出站權(quán)限或者服務(wù)器環(huán)境問題。 經(jīng)運維

    2024年02月02日
    瀏覽(24)
  • TCP/IP協(xié)議:最流行的電子郵件協(xié)議SMTP(簡單郵件傳輸協(xié)議)詳解

    TCP/IP協(xié)議:最流行的電子郵件協(xié)議SMTP(簡單郵件傳輸協(xié)議)詳解

    SMTP 是一種電子郵件協(xié)議,用于通過互聯(lián)網(wǎng)從一個電子郵件帳戶向另一個電子郵件帳戶發(fā)送電子郵件。它是TCP/IP協(xié)議應(yīng)用層的一部分。作為一種電子郵件協(xié)議,它建立了不同電子郵件客戶端和帳戶之間輕松信息交換的規(guī)則。這樣,簡單郵件傳輸協(xié)議就可以實現(xiàn)廣泛的電子郵件

    2024年02月20日
    瀏覽(17)
  • c++實現(xiàn)smtp發(fā)送郵件,支持ssl的465端口發(fā)送,支持附件、一次發(fā)送多人、抄送等

    c++實現(xiàn)smtp發(fā)送郵件,支持ssl的465端口發(fā)送,支持附件、一次發(fā)送多人、抄送等

    c++實現(xiàn)smtp發(fā)送郵件,支持ssl的465端口發(fā)送,支持附件、一次發(fā)送多人、抄送等。 這里只使用了openssl庫(用來支持ssl的465端口),其他部分是原生c++,支持在win/linux運行。 網(wǎng)上很多都是原始的支持25端口,明文發(fā)送,這里介紹一下ssl思路 使用sockect編程和ssl,使用SMTP協(xié)議。 使

    2024年02月08日
    瀏覽(42)
  • 基于 ESP32 通過 SMTP 服務(wù)器 來發(fā)送電子郵件信息

    基于 ESP32 通過 SMTP 服務(wù)器 來發(fā)送電子郵件信息

    電子郵件在全球范圍內(nèi)被用作數(shù)字通信的重要組成部分。電子郵件主要用于官方通信目的,因為它最方便、成本效益高、保存記錄、覆蓋全球且環(huán)保。電子郵件是一種非??旖莸耐ㄐ欧绞?,只是您需要穩(wěn)定的互聯(lián)網(wǎng)連接。 在這個項目中,我們將使用ESP32開發(fā)板發(fā)送電子郵件(

    2024年02月07日
    瀏覽(133)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包