python 脚本发送邮件 & Django 发送邮件 & 谷歌邮箱发送

Django 发送邮件:

settings:

# 电子邮件
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 固定写法
EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址
EMAIL_PORT = 25  # SMTP服务的端口号
EMAIL_HOST_USER = ''  # 发送邮件的QQ邮箱
EMAIL_HOST_PASSWORD = ''  # 邮箱的授权码(即QQ密码)
EMAIL_USE_TLS = False  # 与SMTP服务器通信时,是否启
# 动TLS链接(安全链接)默认false

views:

from django.core import mail

def email_post(request):
    mail.send_mail(
        subject = '你好',  # 题目
        message = '不好',  # 消息内容
        from_email = '88888@163.com',  # 发送者[当前配置邮箱]
        recipient_list=['123456@qq.com'],  # 接收者邮件列表
        auth_password=''  # 在QQ邮箱->设置->帐户->“POP3/IMAP......服务” 里得到的在第三方登录QQ邮箱授权码
    )
    return HttpResponse('OK')

python 脚本发送邮件:

在这里插入图片描述

# -*- coding:utf-8 -*- 
# author: LIUWENYU
# datetime: 2020/10/14 11:10
# describe:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender = '******@qq.com'  # 发件人邮箱账号
my_pass = ''     				 # 发件人邮箱密码(即授权码)
my_user = '******@qq.com'    # 收件人邮箱账号,我这边发送给自己


def mail():
    ret = True
    try:
        msg = MIMEText('填写邮件内容', 'plain', 'utf-8')
        # msg['From'] = formataddr(('发件人昵称', my_sender))  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        # msg['To'] = formataddr(('收件人昵称', my_user))  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['From'] = formataddr(('', my_sender))  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To'] = formataddr(('', my_user))  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject'] = "发送邮件测试"  # 邮件的主题,也可以说是标题

        server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception as e :  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        print(e)
        ret = False
    return ret

ret = mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

模块发送:

pip3 install yagmail

import yagmail

#链接邮箱服务器
yag = yagmail.SMTP( user="******@qq.com", password="授权码", host='smtp.qq.com')

# 邮箱正文
contents = ['This is the body, and here is just text http://somedomain/image.png',
            'You can find an audio file attached.', '/local/path/song.mp3']

# 发送邮件
yag.send('*****@qq.com', 'subject', contents)

#关闭
yag.close()

谷歌邮箱发送(开启VPN):

import smtplib

GMAIL_USERNAME = "LWYCAP@gmail.com"
GMAIL_PASSWORD = "邮箱密码"
email_subject = "Hello"
recipient = "1091761664@qq.com"
body_of_email = "hi"


# The below code never changes, though obviously those variables need values.
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.login(GMAIL_USERNAME, GMAIL_PASSWORD)

headers = "\r\n".join(["from: " + GMAIL_USERNAME,
                       "subject: " + email_subject,
                       "to: " + recipient,
                       "mime-version: 1.0",
                       "content-type: text/html"])

# body_of_email can be plaintext or html!
content = headers + "\r\n\r\n" + body_of_email
session.sendmail(GMAIL_USERNAME, recipient, content)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值