本次邮件发送是在django环境下写的,在其他环境也是一样的流程。此例QQ邮箱。
1,邮件发送项目准备工作:
# 1,新建django项目和应用
django-admin startproject SendEmail
django-admin startapp email
# 2,路由配置,项目根路由,urls.py文件
from django.conf.urls import url,include
from django.contrib import admin
from email import urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^email/$', include('email.urls')),
]
# 3,二级路由,email/urls.py文件
from django.conf.urls import url
from email import views
urlpatterns = [
url(r'^send/',views.send_email),
]
2,首先写邮件发送的配置信息,settings.py文件里添加设置。
EMAIL_HOST ='smtp.qq.com' # 发送邮件的主机
EMAIL_PORT = 25 # 发送邮件端口
EMAIL_HOST_USER = '153395734@qq.com' # 发送邮件的账号
EMAIL_HOST_PASSWORD = 'xxxxxxx' # 发送邮件的授权码,一般都是授权码,qq邮箱是默认是密码,若是申请过授权码,就需要使用授权码。
3,写邮件发送的函数,views.py 文件。
def send_email(request): # 参考模板
send_mail(
'邮件标题',
'邮件内容',
'发件人邮箱地址',
['收件人邮箱地址'],
fail_silently=False )
--------------------------------------------------------------------# 以下为发送邮件函数
from django.shortcuts import render
from django.http import HttpResponse
from django.core.mail import EmailMultiAlternatives
from django.core.mail import send_mail
# 1 发送html文本内容邮件
def send_email(request):
msg=EmailMultiAlternatives('激活', # 邮件内容
'内容', # 这里的内容不显示
'153395734@qq.com',
['18339067306@163.com'])
msg.attach_alternative('<a href="http://www.taobao.com">点击激活:www.jihuo.com</>','text/html') # 邮件内容,文本格式
msg.send()
return HttpResponse('邮件发送成功')
# 2,发送普通文本内容邮件
def send_email(request):
send_mail(
'问好',
'你好!欣欣,我们周末去海里玩吧!',
'153395734@qq.com',
['18339067306@163.com'],
fail_silently=False
)
return HttpResponse('邮件发送成功')
4, 运行项目,查看结果。
1,运行项目命令:
python manag.py runserver 0.0.0.0:8800 # 后面的ip和端口也可以不屑
2,运行后,在浏览器里输入: localhost:8800/email/send/
3,运行后浏览器页面显示:邮件发送成功 ,
你可以查看您的邮件是否发送成功。