文章目录
前言
用Python进行邮件的发送,基本很简单,就是一个发送者,一个接受者,一个主题就够了
现在开始具体步骤哈
一、菜鸟教程的代码复制粘贴修改
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.exmail.qq.com" # 设置服务器
mail_user = "zhiwei@hnyfkj.com" # 用户名
mail_pass = "zhiwei1122" # 口令
sender = 'zhiwei@hnyfkj.com'
receivers = ['1038029129@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱这里是我qq
message = MIMEText('哥哥想你了', 'plain', 'utf-8')
message['From'] = Header("志伟哥哥", 'utf-8')
message['To'] = Header("可爱宝贝", 'utf-8')
#邮件主题
message['Subject'] = Header('相思成疾,无药可救', 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
二、测试成果
貌似成功了,去邮箱里查看下
嗯,就这么简单,成功了
但是问题来了,发邮件这样写是不是看着太难受了,我能不能封装到一个类里,直接main函数调用呢?
当然是可以的,那我们就改装下刚才的代码
三、改装版
直接调用方法不香嘛
不好意思,有点代码洁癖,喜欢封装起来
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
class Zhiwei():
def __init__(self, receivers, title, conents):
self.receivers = receivers
self.title = title
self.conents = conents
def sendemail(self):
# 第三方 SMTP 服务
mail_host = "xxxxx" # 设置服务器
mail_user = "xxxxxx" # 用户名
mail_pass = "xxxxx" # 口令
sender = 'xxxxxxxxx'
receivers = self.receivers # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText(self.conents, 'plain', 'utf-8')
# message['From'] = Header("志伟哥哥", 'utf-8')
# message['To'] = Header("可爱宝贝", 'utf-8')
# 邮件主题
message['Subject'] = Header(self.title, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
if __name__ == '__main__':
Zhiwei("1038029129@qq.com", "这是邮件啊", "天王盖地虎").sendemail()
总结
可以再增加一下输入邮箱自动发送,关注下我,直接下载,电脑双击打开
嗯,今天就到这里吧,Python发邮件没什么技术,直接粘贴代码,修改成自己的邮件服务器就可以了,可以写个死循环,无线给某个邮箱发邮件,哈哈哈,只是说说,谁那么无聊一直发邮件呢