利用Python,通过中国移动企业邮箱发送邮件,助力自动化办公。
代码已稳定使用一年多。
一、使用smtplib库
参考链接
二、企业邮箱的相关配置
在企业各种网站中无限跳转,最终找到这个网页,包含一些邮箱配置信息。
中国移动通信 企业邮箱-帮助中心
“POP3”服务器地址://
“SMTP”服务器地址:/
“IMAP”服务器地址:
非SSL协议端口号:
POP3服务器端口:110
SMTP服务器端口:25
IMAP服务器端口:143
三、最终代码
1、配置发件人邮箱信息
省级公司的话请修改域名,请各位领导同事自行更换。
import smtplibfrom email.mime.text import MIMETexthost = ''user = 'XXXXXXXXXXXXXXX@' password = 'XXXXXXXXXXXXXX'
2、封装函数,封装两个,区别在是否有抄送人
有抄送人:
四个参数分别为收件人、抄送人、标题、内容
四个参数类型分别为列表、列表、字符串、字符串
def send_mail(to_list,cc_list,subject,content):msg=MIMEText(content,'plain','utf-8') msg['subject'] = subjectmsg['from'] = usermsg['to'] = ','.join(to_list)msg['cc'] = ','.join(cc_list)asmtp = smtplib.SMTP()asmtp.connect(host)asmtp.login(user, password)asmtp.sendmail(user, to_list + cc_list, str(msg))asmtp.quit()
无抄送人:
三个参数分别为收件人、标题、内容
三个参数类型分别为列表、字符串、字符串
def send_mail(to_list,subject,content):msg=MIMEText(content,'plain','utf-8') msg['subject'] = subjectmsg['from'] = usermsg['to'] = ','.join(to_list)asmtp = smtplib.SMTP()asmtp.connect(host)asmtp.login(user, password)asmtp.sendmail(user, to_list, str(msg))asmtp.quit()
3、调用
send_mail(['12345@'],['12345@'],'demo','demo')
或
send_mail(['12345@'],'demo','demo')
四、补充
1、修改发件人名称已优化微信qq邮箱提醒显示
from email.header import Header
from email.utils import formataddr
msg[‘from’] = formataddr([“你的名称”, “notice@”])