note-python发送邮件
发送邮件
# coding=utf-8
from audioop import add
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr, parseaddr
import smtplib
import getpass
def semai(f_fullname, t_fullname, s_passwd, subject, msg_str):
F = f_fullname
T = t_fullname
name, addr = parseaddr(F)
fromaddr = formataddr((Header(name,'utf-8').encode(), addr))
s_addr = addr
name, addr = parseaddr(T)
toaddr = formataddr((Header(name,'utf-8').encode(), addr))
r_addr = addr
#s_passwd = '密码'
msg = MIMEText(msg_str, 'plain', 'utf-8')
msg['From'] = fromaddr
msg['TO'] = toaddr
msg['Subject'] = Header(subject, 'utf-8')
try:
server1 = smtplib.SMTP_SSL("smtp.qq.com",465)
server1.login(s_addr, s_passwd)
server1.sendmail(s_addr, r_addr, msg.as_string())
server1.quit()
print('email send success!')
except smtplib.SMTPConnectError as e:
print('邮件发送失败,连接失败:', e.smtp_code, e.smtp_error)
except smtplib.SMTPAuthenticationError as e:
print('邮件发送失败,认证错误:', e.smtp_code, e.smtp_error)
except smtplib.SMTPSenderRefused as e:
print('邮件发送失败,发件人被拒绝:', e.smtp_code, e.smtp_error)
except smtplib.SMTPRecipientsRefused as e:
print('邮件发送失败,收件人被拒绝:', e.smtp_code, e.smtp_error)
except smtplib.SMTPDataError as e:
print('邮件发送失败,数据接收拒绝:', e.smtp_code, e.smtp_error)
except smtplib.SMTPException as e:
print('邮件发送失败, ', e.message)
except Exception as e:
print('邮件发送异常, ', str(e))
if __name__ == '__main__':
f_fullname = 'test测试-发送人昵称-sentname<xxxxxxx@qq.com>'
t_fullname = 'test测试-收件人昵称-recevicename<xxxxxx@163.com>'
s_passwd = getpass.getpass()
subject = 'NEW zhu测试 ti test'
msg_str = 'NEW wen 测试zhang zheng wen ,'
semai(f_fullname, t_fullname, s_passwd, subject, msg_str)

浙公网安备 33010602011771号