广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python+sendEmail发邮件
  • 861
分享到

Python+sendEmail发邮件

发邮件PythonsendEmail 2023-01-31 06:01:09 861人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

linux用户常用sendmail发送电子邮件,当您看了本文后可能会改用sendEmail去发送邮件了,呵呵。1 下载sendEmail       sendEmail有Linux和windows版本软件包,依据自己的平台选择下载好了Htt

linux用户常用sendmail发送电子邮件,当您看了本文后可能会改用sendEmail去发送邮件了,呵呵。


1 下载sendEmail

      sendEmail有Linux和windows版本软件包,依据自己的平台选择下载好了

Http://caspian.dotconf.net/menu/Software/SendEmail/

     登录上边的网址找到:

    Download

Official Release:sendEmail-v1.56.tar.gz   (29kb Sep 29th, 2009)    ChangelogScreen Shot

Windows Download:
Free sendEmail.exe for Windows. To use simply run sendEmail.exe from a console / command line.
sendEmail-v156-notls.zip   (677kb Sep 29th, 2009)   No TLS support
sendEmail-v156.zip   (1.4mb Sep 29th, 2009)   TLS supported

RPM Package:sendEmail rpm
选择适合自己的下载好了


2 安装sendEmail

sendEmail不需要安装直接解压到某目录即可直接使用。

   (Linux用户) tar -zxvf sendEmail-x-y-z.tar.gz

本文选择windows平台sendEmail软件包,下载后解压到c:\sendEmail目录下。




3 sendEmail命令帮助

sendEmail软件是命令行软件,需要在Dos(shell)下执行使用。


[python]view plaincopy
  1. [智普教育 @ www.jeapedu.com]# sendEmail --help

  2. sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>  

  3. Synopsis:  sendEmail -f ADDRESS [options]  

  4. Required:  

  5. -f ADDRESS                from (sender) email address  

  6. * At least one recipient required via -t, -cc, or -bcc  

  7. * Message body required via -m, STDIN, or -o message-file=FILE  

  8. Common:  

  9. -t ADDRESS [ADDR ...]     to email address(es)  

  10. -u SUBJECT                message subject  

  11. -m MESSAGE                message body  

  12. -s SERVER[:PORT]          smtp mail relay, default is localhost:25

  13. Optional:  

  14. -a   FILE [FILE ...]      file p_w_upload(s)  

  15. -cc  ADDRESS [ADDR ...]   cc  email address(es)  

  16. -bcc ADDRESS [ADDR ...]   bcc email address(es)  

  17. -xu  USERNAME             username for SMTP authentication  

  18. -xp  PASSWord             password for SMTP authentication  

  19. ParanORMal:  

  20. -b BINDADDR[:PORT]        local host bind address  

  21. -l LOGFILE                log to the specified file  

  22. -v                        verbosity, use multiple times for greater effect  

  23. -q                        be quiet (i.e. no STDOUT output)  

  24. -o NAME=VALUE             advanced options, for details try: --help misc  

  25. -o message-content-type=<auto|text|html>  

  26. -o message-file=FILE         -o message-format=raw  

  27. -o message-header=HEADER     -o message-charset=CHARSET  

  28. -o reply-to=ADDRESS          -o timeout=SECONDS  

  29. -o username=USERNAME         -o password=PASSWORD  

  30. -o tls=<auto|yes|no>         -o fqdn=FQDN  

  31. Help:  

  32. --help                    the helpful overview you're reading now  

  33. --help addressing         explain addressing and related options  

  34. --help message            explain message body input and related options  

  35. --help networking         explain -s, -b, etc  

  36. --help output             explain logging and other output options  

  37. --help misc               explain -o options, TLS, SMTP auth, and more  


     测试用例

我(sender@163.com)要给他/她(receiver@sina.com)发电子邮件,邮件的主题是"subjectTitle",邮件的内容是说句“hello”,带了附件attach.txt文件,我邮箱sender@163.com的密码是“123456”,则使用sendEmail的命令如下:


[python]view plaincopy
  1. sendEmail -f sender@163.com -t receiver@sina.com -s smtp.163.com -xu sender@163.com -xp 123456 -u subjectTitle -m hello -a attach.txt  

         注:本示例在windows平台下测试,需手动使用dos即运行->cmd->cd c:/sendEmail目录(假设下载文件解压到本目录)


  -f    后指定在邮箱里显示谁发的邮件


  -t    后指定发给谁

  -s   指定发送smtp服务器,本例用163的smtp服务器

  -xu 后需指定smtp服务器上的授权帐号(sender@163.com),

        实际上就是用参数xu后边的邮箱来真正发送邮件

  -xp 后则是smtp服务器上的授权帐号(sender@163.com)所对应的密码,

        smtp服务器要检查合法性

  -u   邮件主题

  -m  邮件正文内容

  -a   邮件携带附件(attach.txt)

     各位网友在自我测试时,需对应替换。比如想用“se@163.com(密码abcdef)”发邮件给"re@sina.com",邮件主题“hello”,邮件内容"world",携带附件"b.txt",我来替换一下如下:


[python]view plaincopy
  1. sendEmail -f se@163.com -t re@sina.com -s smtp.163 -xu se@163.com -xp abcdef -u hello -m world -a b.txt  






4 编写发送邮件程序

   写个python程序来用用吧:发几百封邮件给他/她/Ta.程序名sm.py,请保存在sendEmail.exe同一目录下。

[python]view plaincopy
  1. import os  

  2. from = "sender@163.com"

  3. to = "reveiver@sina.com"

  4. subject = "say hello"

  5. msg = "I like you"

  6. attachfile = "a.txt"

  7. c = 0

  8. while c < 498:  

  9.    os.system("sendEmail.exe -f "+from+" -t "+to+" -xu "+from+" -xp 123456 -u "+subject+" -s smtp.163.com -a "+attachfile+" -m "+msg)  

  10.    c = c + 1

   据说163邮件一天最多发500封信,之后。。。呵呵,何时解封时间不确定,我看可以多申请几个163邮箱。


   在sendEmail目录下执行Python sm.py即可发499封邮件给他/她/Ta.


5. 怎样使发送邮件内容为Html的呢?

   首先在sm.py文件所在目录下创建一个html文件,例如a.html,代码如下:

[html]view plaincopy
  1. <html>

  2. <body>

  3. <B>Python培训专家</B><br>

  4. <ahref= "http://www.jeapedu.com"><fontcolor = 'blue'size = '7'><u>智普教育 www.jeapedu.com</u></font></a>

  5. </body>

  6. </html>


   接着,需要在sendEmail命令行里增加几个可以发送html文本作为邮件正文内容的参数选项。


[python]view plaincopy
  1. -o message-content-type=html  

  2. -o message-charset=CHARSET  

  3. -o message-header=HEADER    

  4. -o message-file=afile  


    -o message-content-type = html

                告诉邮件服务器发送的是html格式邮件内容

    -o message-charset = CHARSET

               这里不能用utf-8否则邮件内容显示乱码

    -o message-file=某文件  

               是用来指定携带的那个html网页文件作为邮件正文, 这样邮件正文里就可以有超级链接了。

    最后运行测试。



   测试代码如下:

[python]view plaincopy
  1. # coding:utf-8

  2. # Created on 2013.8.28

  3. # Copyright @ 智普教育

  4. # www.jeapedu.com

  5. # Author 智普教育博客

  6. import os  

  7. f = "jeapedu009@163.com"

  8. t="jeapedu@sina.cn"

  9. file = "a.html"

  10. subject = "say hello"

  11. os.system("sendEmail.exe -f "+f+" -t "+t+" -xu "+f+" -xp Yourpassword -u "+subject+" -s smtp.163.com -o message-content-type=html  -o message-header=HEADER -o message-charset=CHARSET -a README.txt -o message-file="+file)  

  12. print"ok"


   邮箱收到邮件正文是html格式的邮件,如下所示。



--结束END--

本文标题: Python+sendEmail发邮件

本文链接: https://www.lsjlt.com/news/189401.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python+sendEmail发邮件
    Linux用户常用sendmail发送电子邮件,当您看了本文后可能会改用sendEmail去发送邮件了,呵呵。1 下载sendEmail       sendEmail有Linux和windows版本软件包,依据自己的平台选择下载好了htt...
    99+
    2023-01-31
    发邮件 Python sendEmail
  • Python 发邮件
    普通邮件[root@localhost checksalt]# cat python_email.py  #!/usr/bin/python # -*- coding: utf-8 -*- import sys def smtp(title...
    99+
    2023-01-31
    发邮件 Python
  • python发送邮件
    python通过smtp发送qq邮件 import smtplib from email.mime.text import MIMEText from email.header import Header """ 1》测试邮件发送 ...
    99+
    2023-01-30
    发送邮件 python
  • python 邮件发送
    环境:python2.7 1 #coding:utf-8 2 from __future__ import unicode_literals 3 __author__ = 'crista' 4 5 import smtpli...
    99+
    2023-01-30
    邮件发送 python
  • python 发送邮件
    #!/usr/bin/env python#coding:utf-8 import smtplib,time,stringfrom email.mime.text import MIMEText SMTPserver = 'smtp.exm...
    99+
    2023-01-31
    发送邮件 python
  • python SMTP邮件发送
    本例使用的时python2.7环境,python3的操作应该也是差不多的。 需要用到smtplib和email两个包。 发送文本类型的邮件 下面看个发送文本邮件的例子(使用网易163的SMTP): # -*- coding: UTF-8 ...
    99+
    2023-01-31
    邮件发送 python SMTP
  • python通过163邮箱发送邮件
    from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import smtplib import sys impor...
    99+
    2023-01-31
    发送邮件 邮箱 python
  • python发送邮件和附件
    发送邮件的时候,需要发送人,收件人,和一台邮件服务器,这里使用python发送一个邮件,主要需要引入smtplib和email库。下面是源码,粘贴即可用: #!/usr/bin/env python3 # coding: utf-8 imp...
    99+
    2023-01-31
    发送邮件 附件 python
  • python 发送中文邮件
    #!/usr/bin/python#coding:utf-8#导入smtplib和MIMEText import smtplibfrom email.Header import Headerfrom email.MIMEText impor...
    99+
    2023-01-31
    中文 邮件 python
  • python实现发邮件(sendmail
    #!/usr/bin/python#-*-coding:utf-8-*- #-*-coding:utf-8-*-#filename :sendmail.pyimport sys import smtplibfrom email.mime.t...
    99+
    2023-01-31
    发邮件 python sendmail
  • Python实现邮件发送
    使用smtplib模块发送邮件,它对smtp协议进行了简单的封装。smtp协议的基本命令包括:    HELO 向服务器标识用户身份    MAIL 初始化邮件传输 mail from:    RCPT 标识单个的邮件接收人;常在MAIL命...
    99+
    2023-01-31
    邮件发送 Python
  • zabbix用python发送邮件
    !/usr/bin/pythoncoding: utf-8import smtplibimport sysfrom email.mime.text import MIMEText_user = "12345678@qq.com"_pwd ...
    99+
    2023-01-31
    发送邮件 zabbix python
  • python发送、抄送邮件
    python发送抄送邮件 sendemial.py #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMETe...
    99+
    2023-01-31
    邮件 python
  • 用 Python 发电子邮件
    本文首发于【红叶枫啦】微信公号,未经允许,不得转载。 这个程序涉及两个库:smtplib 和 email。 这两个库都是Python自带的,所以不需要额外的下载安装,此外,这次使用的Python版本为2.7。 总体思路很简...
    99+
    2023-01-31
    电子邮件 Python
  • python学习群发邮件
    https://ke.qq.com/course/109110 腾讯课堂视频 使用Python发送邮件 1、 SMTP 服务器介绍 2、 SMTP 邮件服务器开启 3、 Email 模块介绍 4、 Smtplib.SMTP_SSL介绍 ...
    99+
    2023-01-31
    邮件 python
  • python如何群发邮件
    小编给大家分享一下python如何群发邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python群 发邮件主要是依赖STMP模块,但不少新手都不会,下面就让一...
    99+
    2023-06-05
  • Python批量发送邮件
    1.SMTP协议SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一个相对简单的基于文本的协议, 在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以...
    99+
    2023-06-02
  • python发送带附件的邮件
      来源:http://snipperize.todayclose.com/snippet/py/Send-email-with-p_w_upload--53762/ Send email with p_w_upload import sm...
    99+
    2023-01-31
    附件 邮件 python
  • python实现QQ邮箱群发邮件实例
    目录一,登录邮箱,获取授权码二,替换参数总结一,登录邮箱,获取授权码 二,替换参数 给多人发送邮箱,我只是做了个循环,把每个人得授权码循环输入了。把授权码和邮箱替换成自己得就行,...
    99+
    2022-11-13
  • Python实现发送邮件到自己邮箱
    目录1、缘由2、设置SMTP服务器3、使用python发送4、总结5、补充1、缘由 在日常开发中,我们经常需要监控应用程序的状态,及时发现问题并采取措施解决。而通过邮件发送报警信息则...
    99+
    2023-05-14
    Python发送邮件到邮箱 Python发送邮件 Python 邮件 邮箱
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作