Python 发送邮件
"""
功能描述: 发送邮件
"""
import smtplib
import logging
from email.header import Header
from email.mime.text import MIMEText
LOG = logging.getLogger("django")
class SendMail(object):
def __init__(self, receiver, mail_msg, subject):
self.sender = 'xiaocai_v@163.com'
self.receiver = receiver
self.mail_msg = mail_msg
self.subject = subject
def init_header(self):
message = MIMEText(self.mail_msg, "html")
message['From'] = Header("XiaoCai")
message['To'] = Header(self.receiver)
message['Subject'] = Header(self.subject)
return message
def send_mail(self):
try:
message = self.init_header()
smtp_obj = smtplib.SMTP('smtp.163.com')
smtp_obj.login('xiaocai_v@163.com', '163邮箱授权码')
smtp_obj.sendmail(self.sender, self.receiver, message.as_string())
LOG.info("邮件发送成功")
except smtplib.SMTPException as e:
LOG.error("无法发送邮件", e)
if __name__ == '__main__':
receivers = ["xiaocai@163.com", "xiaoxiaocai@163.com"]
for receiver in receivers:
SendMail(receiver, """<h1>python 邮件发送测试</h1>""", "邮件测试").send_mail()
Django发送邮件
在setting配置中进行邮箱配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = 'xiaocai_v@163.com'
EMAIL_HOST_PASSWORD = '163邮箱授权码'
EMAIL_FROM = 'xiaocai<xiaocai_v@163.com>'
from django.core.mail import send_mail
from django.conf import settings
def send_verify_email(to_email, verify_url):
"""
发送验证邮箱邮件
:param to_email: 收件人邮箱
:param verify_url: 验证链接
:return: None
"""
subject = "邮箱验证"
html_message = '<p>尊敬的用户您好!</p>' \
'<p>感谢您的使用。</p>' \
'<p>您的邮箱为:%s 。请点击此链接激活您的邮箱:</p>' \
'<p><a href="%s">%s<a></p>' % (to_email, verify_url, verify_url)
send_mail(subject, "", settings.EMAIL_FROM, [to_email], html_message=html_message)