import smtplib
server = smtplib.SMTP()
server.connect(host, port)
server.login(username, password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()
说明:实例化;连接服务器;登陆账号,密码;发送邮件给某某。。。
是不是很简单。。。
msg.as_string()是一个字符串类型:as_string()是将发送的信息msg变为字符串类型
msg的位置你写 '你好,世界' 也可以,就是说要字符串....
PS:
邮件端口比较复杂,自己注意的我这里总结一下,让你不用白行一趟
--------------------发送,投递的
SMTP : 25
SSL SMTP : 465 smtplib.SMTP_SSL() 适当替换
TLS SMTP : 587 starttls() 需要在 smtplib.SMTP_SSL() 或smtplib.SMTP() 后增加开始TLS
---------------------------------接收,验证的
POP3 : 110
SSL POP3 : 995
IMAP: 143
SSL IMAP : 993
悄悄共享给你。。。。无多少人知道的。。。SSL,TLS 哈哈。。。
#####下面我复制人家的例子。。。
from email.mime.text import MIMEText
from email.header import Header
import csv
from_addr = input('请输入登录邮箱:')
password = input('请输入邮箱授权码:')
smtp_server = 'smtp.qq.com'
text='''
人生苦短,我用Python
'''
data = [['y ', '[email protected]'],['x', [email protected]']]
with open('to_addrs.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in data:
writer.writerow(row)
with open('to_addrs.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
to_addrs=row[1]
msg = MIMEText(text,'plain','utf-8')
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addrs)
msg['Subject'] = Header('python test')
server = smtplib.SMTP_SSL()
server.connect(smtp_server,465)
server.login(from_addr, password)
server.sendmail(from_addr, to_addrs, msg.as_string())