美文网首页
如何实现自动发邮件(以139邮箱为例)

如何实现自动发邮件(以139邮箱为例)

作者: 薛定谔的懒猫 | 来源:发表于2019-06-18 15:48 被阅读0次

    本案例以139邮箱为例,使用python代码编写,具体环境如下:
    平台:Windows xp/7/10
    脚本:Python 2.7

    1、第一步:安装Python 2.7,具体安装包链接为:https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi,整个安装过程直接选择“下一步”,建议保留默认安装路径。

    选择安装路径.png
    自动下一步安装.png
    检查是否安装成功,打开Windows命令提示符,输入(“C:\python27\“是默认安装路径,如果安装时修改了,请自行修改):
    echo print "Hello world!" >temp.py | C:\python27\python temp.py
    

    安装成功的话会显示:

    >> Hello world!
    

    2、第二步:在电脑随便一个位置新建一个文件夹,创建以下3个文件:

    edit.your_mail.py
    auto_send_mail.py
    run.bat

    具体代码如下:
    (1)edit.your_mail.py:(你的邮件信息都在这里)

    # coding:utf-8
    
    # 在这里编辑发件人、收件人、发件人邮箱登录密码和邮件标题
    # 可以添加附加,只需输入附件名称即可(附件需拷贝在同一目录下)
    sender = '你的手机号码@139.com'
    receivers = ['收件人1@139.com','收件人2@qq.com','收件人3@126.com']
    password = '你的邮箱密码'
    subject = '邮件标题'
    #filename = ['一份PPT.pptx','一个EXCEL.xlsx'] 这是带附件样例
    #filename = [] 这是无附件样例
    filename = []
    
    # 在这里编辑你的邮件正文
    message = '''<h3>《李延年歌》</h3>
    <p>北方有佳人。绝世而独立。</p>
    <p>一顾倾人城。再顾倾人国。</p>
    <p>宁不知倾城与倾国。佳人难再得。</p>
    '''
    

    (2)auto_send_mail.py:(创建之后就不要改动它了)

    # coding:utf-8
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    from edit_your_mail import *
    
    msg = MIMEMultipart()
    msg['From'] = sender
    msg['To'] = ';'.join(receivers)
    msg['Subject'] = Header(subject,'utf-8')
    msg.attach(MIMEText(message, 'html', 'utf-8'))
    
    for x in filename:
        att = MIMEText(open(x.decode("utf8"),'rb').read(),'base64','utf-8')
    #    att = MIMEText(open(x,'rb').read(),'base64','utf-8')# for mac/linux
        att["Content-Type"] = 'application/octet-stream'
        att["Content-Disposition"] = 'attachment; filename="%s"'%x
        msg.attach(att)
    
    try:
        smtp = smtplib.SMTP('smtp.139.com')
        smtp.set_debuglevel(0)
        smtp.login(sender, password)
        smtp.sendmail(sender, receivers, msg.as_string())
        print "=============\n\nSuccessfully sent mail!\n\n============="
        smtp.quit()
    except Exception:
        print "=============\n\nError: unable to send mail!\n\n============="
    

    (3)run.bat:(“C:\python27\“是默认安装路径,如果安装时修改了,请自行修改)

    @echo off
    C:\Python27\python.exe auto_send_mail.py
    pause
    

    (4)运行测试:

    • step 1:打开(推荐打开方式:右键-Edit with IDLE)edit_your_mail.py,编辑好你的邮件,把正文、附件什么的都弄好,保存关闭edit_your_mail.py。
    • step 2:双击运行run.bat,运行成功会显示如下信息:


      成功发送邮件.png

    3、第三步:利用window任务管理设置定时自动发邮件
    (1)打开“任务计划程序”(路径为:开始-所有程序-附件-系统工具-任务计划程序)


    打开任务计划程序.png

    (2)点击“创建任务”按钮


    创建任务.png
    (3)添加触发条件
    触发器.png
    (4)新建操作,脚本定位为run.bat所在路径,起始于为run.bat的所在目录
    007.png

    (5)确认,到此为止便大功告成!


    确认.png
    (6)如需再次修改创建的任务,可在任务计划程序库查找
    任务计划程序库

    以上便是如何自动发邮件的全过程,谢谢阅读!

    相关文章

      网友评论

          本文标题:如何实现自动发邮件(以139邮箱为例)

          本文链接:https://www.haomeiwen.com/subject/cwlsfctx.html