邮箱发送方法

邮箱发送方法

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()