邮箱发送方法
QQ邮箱发送
'''QQ邮箱发送'''
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件发送者(邮件服务器)
mail_type = "smtp.qq.com" #邮箱服务器
mail_port = 25 # 邮箱服务器端口
mail_user = "942844582@qq.com" # 邮箱授权者信息
mail_otac = "cljmrzxqgdvqxxxx" # 授权码
# 发送和接收者
sender = "942844582@qq.com"
receiver = "liketry@163.com"
# 发送信息
message = MIMEText('Python QQ邮件发送测试...', 'plain', 'utf-8') # 内容
message['From'] = Header("发送者", 'utf-8')
message['To'] = Header("接收者", 'utf-8')
subject = 'Python SMTP QQ邮件测试' #标题
message['Subject'] = Header(subject, 'utf-8')
def Sendmail(sender, receiver, otac):
try:
mailobj = smtplib.SMTP(mail_type, mail_port)
mailobj.login(mail_user, otac)
mailobj.sendmail(sender, receiver, message.as_string())
print("QQ邮件发送成功")
except Exception:
print("发送失败")
def main():
Sendmail(sender,receiver,mail_otac)
if __name__ == "__main__":
main()
outlook邮件发送
"""outlook邮件发送"""
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
sender = "kangbingjie2023@outlook.com"
receiver = "942844582@qq.com"
pwd = "wmznnqmklquexxxx"
text = 'http://buy.kangbingjie.com' # 内容
message = MIMEText(text, 'plain', 'utf-8')
message['From'] = formataddr(["http://buy.kangbingjie.com",sender])
message['To'] = formataddr(["User",receiver])
message['Subject'] = f"Python STMP 邮件发送测试" #标题
def sendmail(sender,receiver,pwdcore):
smtpobj = smtplib.SMTP("smtp.office365.com",587) #邮箱服务器
smtpobj.ehlo() # 验证
smtpobj.starttls()
smtpobj.login(sender,pwdcore)
smtpobj.sendmail(sender,receiver,message.as_string())
print("this ok")
smtpobj.quit()
def main():
sendmail(sender,receiver,pwd)
if __name__ == "__main__":
main()
celery 异步发送邮件
"""celery 异步发送邮件"""
from celery import Celery #导入 Celery
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
app = Celery("test",broker= "redis://127.0.0.1:6379/8") # 链接redis数据库
sender = "kangbingjie2023@outlook.com"
receiver = "942844582@qq.com"
pwd = "wmznnqmklquexxxx"
text = 'http://buy.kangbingjie.com'
message = MIMEText(text, 'plain', 'utf-8')
message['From'] = formataddr(["http://buy.kangbingjie.com",sender])
message['To'] = formataddr(["User",receiver])
message['Subject'] = f"Python STMP 邮件发送测试"
@app.task
def sendmail(sender,receiver,pwdcore):
smtpobj = smtplib.SMTP("smtp.office365.com",587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.login(sender,pwdcore)
smtpobj.sendmail(sender,receiver,message.as_string())
print("this ok")
smtpobj.quit()
def main():
sendmail(sender,receiver,pwd)
if __name__ == "__main__":
main()