查看: 3929|回复: 1

[大赛作品提交] 树莓派DIY之三------配置树莓派发送邮件

[复制链接]
  • TA的每日心情
    无聊
    2021-6-6 21:56
  • 签到天数: 225 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2017-11-26 00:03:58 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 ky123 于 2018-1-31 14:18 编辑

          
    感谢e络盟提供的大赛助力基金。利用树莓派作为一个远程的服务器,可以开启各种应用场景,远程监控,远程云盘,远程连接,智能家居控制中心等等。
          
    对于自动发送邮件功能,也是经常使用到的,比如自动发送树莓派检测到的一些数据,远程发送给用户,用来做下一步处理。
         
    本文是用Python写的一个自动发送邮件的脚本,调用函数时,直接把发件人邮箱地址、密码、收件人邮箱地址、邮件标题、内容等信息传递给函数,即可实现自动发送邮件功能。

    发送邮件的脚本代码如下:

            # -*- coding: UTF-8 -*-  
    import sys, os, re, urllib, urlparse  
    import smtplib  
    import traceback  
    from email.mime.text import MIMEText  
    from email.mime.multipart import MIMEMultipart  

    def sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password):  
        '''''
        @subject:邮件主题
        @msg:邮件内容
        @toaddrs:收信人的邮箱地址
        @fromaddr:发信人的邮箱地址
        @smtpaddr:smtp服务地址,可以在邮箱看,比如163邮箱为smtp.163.com
        @password:发信人的邮箱密码
        '''  
        mail_msg = MIMEMultipart()  
        if not isinstance(subject,unicode):  
            subject = unicode(subject, 'utf-8')  
        mail_msg['Subject'] = subject  
        mail_msg['From'] =fromaddr  
        mail_msg['To'] = ','.join(toaddrs)  
        mail_msg.attach(MIMEText(msg, 'html', 'utf-8'))  
        try:  
            s = smtplib.SMTP()  
            s.connect(smtpaddr)  #连接smtp服务器  
            s.login(fromaddr,password)  #登录邮箱  
            s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #发送邮件  
            s.quit()  
        except Exception,e:  
           print "Error: unable to send email"  
           print traceback.format_exc()  

    if __name__ == '__main__':  
        fromaddr = "xxxxxxxx@163.com"  
        smtpaddr = "smtp.163.com"  
        toaddrs = ["xxxxxxxx@qq.com","xxxxxxxxx@163.com"]  
        subject = "邮件标题"  
          #body=‘邮件内容\n测试一下’

        password = "xxxxxxxx"  
        msg = "测试一下"  
        sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password)  


    测试结果:
    发送邮件.PNG

    下一步可以开启定时发送邮件,或者时间开启发送邮件,进一步实现所需的功能了。

    我的其它帖子:
    1树莓派DIY之一------晒晒我的树莓派靓照https://www.cirmall.com/bbs/forum ... =97885&fromuid=8155
    2 树莓派DIY之二------开启开发环境之远程桌面连接,配置vnc
    https://www.cirmall.com/bbs/forum ... =97897&fromuid=8155



    回复

    使用道具 举报

    该用户从未签到

    发表于 2017-11-27 10:03:12 | 显示全部楼层
    叮叮叮,来占个座
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-9-21 11:19 , Processed in 0.156436 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.