python加163、qq邮箱实现发送邮件
下面为 163邮箱
import smtplib from email.mime.text import MIMEText def sentemail(): host = 'smtp.163.com' # 设置发件服务器地址 port = 465 # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式 sender = 'cwj_michael@163.com' # 设置发件邮箱,一定要自己注册的邮箱 pwd = '。。。。。。' # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码 # receiver = '。。。。。' # 设置邮件接收人,可以是QQ邮箱 body = '<h1>first_test</h1><p>第一次尝试<a href="http://www.baidu.com">点击跳转<\\a></p>' # 设置邮件正文,这里是支持HTML的 msg = MIMEText(body, 'html') # 设置正文为符合邮件格式的HTML内容 msg['subject'] = '测试' # 设置邮件标题 msg['from'] = sender # 设置发送人 msg['to'] = receiver # 设置接收人 try: s = smtplib.SMTP_SSL(host, port) # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL s.login(sender, pwd) # 登陆邮箱 res = s.sendmail(sender, receiver, msg.as_string()) print(res) # 发送邮件! print('Done.sent email success') except smtplib.SMTPException: print('Error.sent email fail') if __name__ == '__main__': sentemail()
下面为qq邮箱
from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL #qq邮箱smtp服务器 host_server = 'smtp.qq.com' #sender_qq为发件人的qq号码 sender_qq = '12345677' #pwd为qq邮箱的授权码 pwd = 'qewrtykjgfd' #发件人的邮箱 sender_qq_mail = '1234567@qq.com' #收件人邮箱 receiver = 'qertyui@qq.com' #邮件的正文内容 mail_content = '收到给我qq发个消息' #邮件标题 mail_title = '来吧,不眠之夜' #ssl登录 smtp = SMTP_SSL(host_server) #set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式 smtp.set_debuglevel(1) smtp.ehlo(host_server) smtp.login(sender_qq, pwd) msg = MIMEText(mail_content, "html", 'utf-8') msg["Subject"] = Header(mail_title, 'utf-8') msg["From"] = sender_qq_mail msg["To"] = receiver smtp.sendmail(sender_qq_mail, receiver, msg.as_string()) smtp.quit()
给多个用户发,发多次
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
#sender_qq为发件人的qq号码
sender_qq = '。。。。。'
#pwd为qq邮箱的授权码
pwd = '。。。。。'
#收件人邮箱receiver
receiver='。。。。'
#邮件的正文内容
# mail_content = 'hello wrold'
#邮件标题
mail_title = 'michael的邮件'
def send_mail(sender_qq='',pwd='',\
receiver='',mail_title='',mail_content=''):
# qq邮箱smtp服务器
host_server = 'smtp.qq.com'
sender_qq_mail = sender_qq+'@qq.com'
#ssl登录
smtp = SMTP_SSL(host_server)
#set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_qq_mail
msg["To"] = receiver
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
mail_contents = [
'有志者自有千计万计,无志者只感千难万难。',
'美丽的花虽然会凋谢,可是盛开的时刻值得欣赏。要在美好的时候创造出美好的东西,人生才会充满意义。',
'永不言败,是成功者的最佳品格。',
'未必钱多乐便多,财多累己招烦恼。清贫乐道真自在,无牵无挂乐逍遥。',
'受思深处宜先退,得意浓时便可休。',
'一切事无法追求完美,唯有追求尽力而为。这样心无压力,出来的结果反而会更好。',
'不为模糊不清的未来担忧,只为清清楚楚的现在努力。',
'不同的信念,决定不同的命运!',
'平生不做皱眉事,世上应无切齿人。',
]
for mail_content in mail_contents:
send_mail(sender_qq=sender_qq,pwd=pwd,\
receiver=receiver,mail_title=mail_title,\
mail_content=mail_content)
posted on 2019-08-29 18:53 michael-chang 阅读(124) 评论(0) 收藏 举报
浙公网安备 33010602011771号