noel0217 发表于 2018-8-8 13:20:01

[Python]使用smtplib类库发邮件

  可以先去Mailgun注册一个免费的programmable mail servers,免费的有每天200封邮件的限制。
  Mailgun is a set of powerful APIs         that allow you to send, receive, track and          store email effortlessly.
  Mailgun提供一系列强大的API,使得你可以毫无费力的实现邮件的发送,接收,跟踪和存储。
  也可以不注册,直接使用自己的邮箱服务提供商的SMTP进行测试。
  下面是mail.py的全部代码
  


[*]#!/usr/bin/env python
[*]#coding:utf-8
[*]
[*]import sys
[*]import smtplib
[*]from email.MIMEMultipart import MIMEMultipart
[*]from email.MIMEText import MIMEText
[*]
[*]MAIL_HOST='smtp.mailgun.org'
[*]MAIL_ADMIN='user1@z42.mailgun.org'
[*]MAIL_PORT=587
[*]MAIL_USER='postmaster@z42.mailgun.org'
[*]MAIL_PASSWORD='*******'
[*]
[*]def main():
[*]if len(sys.argv)<4:
[*]    raise Exception('argument number must be 3')
[*]to=sys.argv
[*]title=sys.argv
[*]content=sys.argv
[*]
[*]smtp=smtplib.SMTP(MAIL_HOST,MAIL_PORT)
[*]smtp.login(MAIL_USER,MAIL_PASSWORD)
[*]
[*]msg=MIMEMultipart()
[*]msg['From']=MAIL_ADMIN
[*]msg['To']=to
[*]msg['Subject']=title
[*]msg.attach(MIMEText(content))
[*]
[*]print(msg)
[*]smtp.sendmail(MAIL_ADMIN,to,msg.as_string())
[*]smtp.quit()
[*]
[*]if __name__=='__main__':
[*]main()
  

  使用下面的命令行发送邮件
  


[*]>python mail.py jorden008@163.com &quot;hi, it's me&quot; &quot;hello, andy. This is mail content.&quot;
  

  关于smtplib的使用,大家可以参考
  http://docs.python.org/library/smtplib.html
页: [1]
查看完整版本: [Python]使用smtplib类库发邮件