|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# SMTP第三方服务
mail_host = "smtp.163.com"
mail_user = "huyang_yu"
mail_pass = "huyang"
mail_postfix = "163.com"
# 发送者和接收者
sender = "xxx@163.com"
receiver = "xxx@qq.com"
# 发送内容
msg = MIMEText("啦啦啦,我有一头小毛驴,我从来也不骑,有一天,我骑着它上街区去赶集", "plain", "utf-8")
msg["From"] = Header("胡杨", "utf-8")
msg["To"] = Header("卖布的画家", "utf-8")
msg["Subject"] = Header("第一次邮件发送", "utf-8")
# 发送
try:
smtpObj = smtplib.SMTP(mail_host, 25)
smtpObj.sendmail(sender, receiver, msg.as_string())
print("发送成功")
except smtplib.SMTPException:
print("发送失败")
执行结果 简单粗暴
直接告诉我发送失败,
新手小白,求指导
我没有用Header,但是我觉得你msg["From"]和msg["To"]是不是应该是邮箱地址而不是名字?
我把我前几天写的代码发上来你看下,分普通文本文件和html格式的文件
- '''
- AUTHOR : ltian
- PROJECT_NAME : py_project.py
- FILE_NAME : 发送邮件
- TIME : 2016/10/31 - 15:24
- DESCRIPTION:邮件
- '''
- import smtplib
- from email.mime.text import MIMEText
- #txt文本邮件
- def send_simple_txt_email(to_list, title = '这是标题呀', content='这是内容呀'):
- msg = get_msg_by_content(to_list, title, content, user_addr, False)
- print('开始发送邮件')
- send_email_main(user_host, user_addr, user_password, to_list, msg)
- #html格式
- def send_simple_html_email(to_list, title = '这是标题呀', content='<h1>这是内容呀</h1>'):
- msg = get_msg_by_content(to_list, title, content, user_addr, True)
- print('开始发送邮件')
- send_email_main(user_host, user_addr, user_password, to_list, msg)
- #根据是否html是否,返回msg信息
- def get_msg_by_content(to_list, title, content, user_addr, is_html):
- msg = None
- if is_html:
- msg = MIMEText(_text=content, _subtype='html', _charset='gb2312')
- else:
- msg = MIMEText(_text=content, _subtype='plain', _charset='gb2312')
- msg['Subject'] = title
- msg['From'] = user_addr
- msg['To'] = ";".join(to_list)
- return msg
- #发送邮件主体方法
- def send_email_main(host, user, pwd, to_list, msg):
- try:
- server = smtplib.SMTP()
- server.connect(host=host)
- server.login(user, pwd)
- server.sendmail(from_addr=user_addr, to_addrs=to_list, msg=msg.as_string())
- server.close()
- return True
- except Exception as e:
- print(e)
- print('发送邮件出现异常,请检查')
- return False
- def main():
- '''
- 可在参数中添加
- 标题:title
- 内容:content
- '''
- #简单文本
- #send_simple_txt_email(to_list)
- #html格式
- send_simple_html_email(to_list)
- if __name__ == '__main__':
- user_addr = '******@163.com'
- user_password = '******'
- user_host = 'smtp.163.com'
- to_list = ['******@qq.com']
- main()
复制代码
user_*都是发件人的账号密码
to_list 是接收人列表
其他的都有注释
|
|