邮件发送

本次邮件发送是在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 = '[email protected]'   # 发送邮件的账号
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('激活',           # 邮件内容
                               '内容',           # 这里的内容不显示
                               '[email protected]',
                               ['[email protected]'])
    msg.attach_alternative('点击激活:www.jihuo.com','text/html')       # 邮件内容,文本格式
    msg.send()
    return HttpResponse('邮件发送成功')



# 2,发送普通文本内容邮件
def send_email(request):
    send_mail(
        '问好',
        '你好!欣欣,我们周末去海里玩吧!',
        '[email protected]',
        ['[email protected]'],
        fail_silently=False
    )
    return HttpResponse('邮件发送成功')

4, 运行项目,查看结果。

1,运行项目命令:
python manag.py runserver 0.0.0.0:8800      # 后面的ip和端口也可以不屑


2,运行后,在浏览器里输入: localhost:8800/email/send/


3,运行后浏览器页面显示:邮件发送成功  , 
   你可以查看您的邮件是否发送成功。

 

你可能感兴趣的:(邮件发送)