1. 程式人生 > >Python使用SMTP自動傳送郵件

Python使用SMTP自動傳送郵件

連結中的教程介紹了基礎的使用方法,這裡不再重複。這裡主要是介紹使用中碰到的問題

下面是我的示例程式

# -*-coding:utf-8 -*-
'''
Created on 2016.11.12
Send Mail
@author: Administrator
'''
import smtplib
from email.mime.text import MIMEText
class Email(object):

    def __init__(self):
        '''
        Constructor
        '''

class SendEmail(object):
    
    def __init__(self,senderAddr,receiveAddrs,subject,content):
        self.senderAddr=senderAddr
        self.receiveAddrs=receiveAddrs
        self.message=MIMEText(content,'plain', 'utf-8')
        self.message['From']= self.FmtMailAddr(senderAddr)
        self.message['to']=self.FmtMailAddr(receiveAddrs[0])
        self.message['subject']=subject
    
    def FmtMailAddr(self,mailAddr):#格式化 frommail及tomail
        return '<%s>'%mailAddr
    
    def Send(self):
        try:
            smtObj= smtplib.SMTP('smtp.163.com')
            smtObj.login('
[email protected]
', 'authenty word not password') smtObj.sendmail(self.senderAddr,self.receiveAddrs,self.message.as_string()) smtObj.quit() print("郵件傳送成功") except smtplib.SMTPException as e: print(e) print("Error:無法傳送郵件") def TestRun(): sendMail=SendEmail('
[email protected]
,['[email protected]'],'公式郵件',"我們通過例項化 smtplib")#不要有測試之類的字眼 sendMail.Send() TestRun()
問題

1.553 authentication is required  SMTP

解決方法:在 163郵箱中設定授權許可權,smtObj.login('[email protected]', 'authenty word not password') 使用的是 授權碼,而不是密碼,具體設定授權碼的方法見連結
2.554 DT:SPM 傳送的郵件內容包含了未被許可的資訊,或被系統識別為垃圾郵件。請檢查是否有使用者傳送病毒或者垃圾郵件;554 DT:SUM 信封發件人和信頭髮件人不匹配;

解決方法:1).  smtObj.sendmail中的 self.senderAddr要message['From']一致,smtObj.sendmail中的receiveaddrs中的第一個與message['to']一致。

    2).  郵件中不要有'test'或'測試'之類的字眼,同時不要隨便的使用 無意義的字母 ,否則會被放入垃圾箱

相關推薦

windows關機前執行指令碼設定與關機blat自動傳送郵件指令碼模板

1.開始——執行——gpedit.msc2.策略——計算機配置——Windows設定——指令碼(啟動/關機)3.右擊"關機"4.新增——瀏覽:選擇指令碼確定;5.完成設定,重啟測試。 注:關機指令碼啟動目錄:C:\Windows\System32\GroupPolicy\Machine\Scripts\Sh

python selenium-7自動傳送郵件

https://jingyan.baidu.com/article/647f0115b78f8d7f2148a8e8.html 1.傳送HTML格式的郵件 import smtplib from email.mime.text import MIMEText from email.header impor

Appium+python 自動傳送郵件(2)

移動端執行完測試case之後,通過郵件自動傳送測試報告。大體流程如下: 1、通過unittest框架的discover()發現所有測試用例 2、使用HTMLTestRunner的run()方法執行測試用例,生成HTML測試報告 3、尋找測試報告目錄下的最新測試報告,返回最新測試報告的路徑 4、將最新測

python 自動傳送郵件報表,正文插入圖片,帶附件

# -*- coding: utf-8 -*- """ Created on Wed Aug 15 17:44:33 2018 @author: cp """ from email.mime.text import MIMEText from email.mime.mul

Linux指令碼編寫程式監控系統資訊並設定報警自動傳送郵件

yum -y install mailx yum -y install sendmail #獲取cpu使用率 cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $3}'` #獲取磁碟使用率 data_nam

Intouch/ifix語音報警系統製作(4-自動傳送郵件提醒)

在近期專案完成後,有遇到情況:類似於語音報警後,中控室人員未及時報告給我們造成了事件的危害升級,以及造成很不好的影響。針對這個情況特此新增語音報警後,自動傳送郵件提醒,完善現有的報警機制。 1.函式編寫(選自網友指令碼) Option Explicit '需要引用 Mi

python的yagmail庫-自動傳送郵件功能

一、yagmail安裝 使用pip install yagmail命令安裝。我的環境是python2.7.15,使用pip直接安裝就ok了。 二、例項 1、開通SMTP服務 檢查使用的郵箱伺

Linux使用mail功能自動傳送郵件程式以及經常遇到的問題

在實現Linux中mail功能自動傳送郵件時,需要傳送中文內容,以及中文主題的郵件。 整個實現過程中遇到了三大問題,如下: 1、如何傳送html格式的郵件內容? 2、如何傳送中文內容的郵件? 3、如何傳送中文標題的郵件?(在解決這個問題時話費不少時間) 4、傳送的郵件內容以

C#中自動傳送郵件的實現

原始碼: using System; using System.Windows.Forms; using System.Net.Mail; using System.Text.RegularExpressions; namespace 郵件 { public partial clas

python 自動傳送郵件傳送多人、群發、多附件

1、最近公司實現部分資料統計、分析的報表進行每天定時傳送到相關人員的郵箱之中的配置程式碼被人為刪除了,需要重新恢復該功能,由於原先是在linux上使用shell配置傳送,實在是太繁瑣,所以準備使用python來實現該功能,不過發現網上各種文件都是未經過整理,程式碼寫的很不友

c# 自動傳送郵件測試程式碼

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;

jmeter+ant+jenkins自動化構建成功自動傳送郵件

二、修改build build.xml 檔案內容如下,copy一份進去,相關地址需要修改 <?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test"

Python使用SMTP自動傳送郵件

連結中的教程介紹了基礎的使用方法,這裡不再重複。這裡主要是介紹使用中碰到的問題 下面是我的示例程式 # -*-coding:utf-8 -*- ''' Created on 2016.11.12 Se

SMTP自動傳送郵件功能程式碼

SMTP自動傳送郵件功能 我也是跟著各種部落格一步一步搜尋出來的,可能在設定郵箱的時候會有各種問題,請參考我的其他部落格進行設定 https://blog.csdn.net/ly021499/article/details/82423019 https://blog.csdn.net/l

python自動傳送郵件所遇問題集錦

問題一:smtplib.SMTPAuthenticationError: (550, b'\xd3\xc3\xbb\xa7\xce\xde\xc8\xa8\xb5\xc7\xc2\xbd') 因為發件的郵箱伺服器有驗證碼,需要到郵箱中開啟SMTP服務即可。 詳情參考:https://jing

CMD Telnet 命令列自動傳送郵件指令碼

定期監控sql server服務執行狀態,如服務停止,則啟動它?這個比較簡單的方法可以實現  net start 服務名稱 放到windows的定時執行中就好了 如果服務已經啟動則報 服務已經啟動 以下是監控服務,併發送郵件 首先簡單介紹一下SMTP SMTP基本命令

Excel VBA開發自動傳送郵件

一、.設定Outlook郵箱帳(略不是本文章的重點) 二、.設定Outlook信任中心如下步驟         若沒有做如下操作設定,則Excel VBA呼叫Outlook自動傳送郵件時提示如下 2.1 Outlook->工具->信任中心 2.2 程式設計訪

Python--指令碼自動傳送郵件

自動傳送郵件功能是我們經常要用到的,比如每天定時統計報表資訊,然後自動傳送給運營人員,協助運營人員進行業務資料分析。本文是用Python寫的一個自動傳送郵件的指令碼,呼叫函式時,直接把發件人郵箱地址、密碼、收件人郵箱地址、郵件標題、內容等資訊傳遞給函式,即可實現

自用Git提交後自動傳送郵件的指令碼

首先是下載這個post-receive指令碼,我稍微做了些修改,支援在.gitconfig中指定郵件傳送程式(hooks.sendmail)和發件人資訊(hooks.emailfrom)。 指令碼下載後放到倉庫的hooks目錄下,並“chmod a+x post-recei

ASP.NET自動傳送郵件功能的實現

實現傳送郵件功能 首先說一下在.Net下如何傳送郵件。.Net已經為我們準備好了與傳送郵件相關的類,只要直接呼叫即可,非常方便。下面是我自己寫的一個郵件通知類: ///<summary> ///郵件通知服務類。 ///</summary> publi