首页 > 其他分享 >发送邮件

发送邮件

时间:2024-05-29 18:23:50浏览次数:16  
标签:task -- id 发送 com EMAIL 邮件

发送邮件.jpg

通过django发送邮件

settings配置

#配置邮件服务器 settings中
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 指定邮件后端
EMAIL_HOST = 'smtp.163.com' # 发邮件主机
EMAIL_PORT = 25 # 发邮件端口
EMAIL_HOST_USER = '填你自己的邮箱' # 授权的邮箱
EMAIL_HOST_PASSWORD = '授权时候获得的那个密码' # 邮箱授权时获得的密码,非注册登录密码
EMAIL_FROM = '随便填一点<填你的邮箱>' # 发件人抬头
EMAIL_USE_TLS = False # 是否使用安全协议传输

tasks

from celery import shared_task
from celery import Task
from django.core.mail import send_mail
from django.conf import settings


# 成功或失败邮件通知
class SendEmailTask(Task):
    def on_success(self, retval, task_id, args, kwargs):
        info = f"任务结果:成功 -- 任务id: {task_id} -- 任务参数:{args}"
        # send_mail 函数的参数依次为邮件主题、邮件内容、发件人邮箱地址、收件人邮箱地址列表
        send_mail("celery任务监控成功告警", info, settings.EMAIL_HOST_USER, ['[email protected]', '[email protected]'])
        
    def on_failure(self, exc, task_id, args, kwargs, einfo):
        info = f"任务结果:失败 -- 任务id: {task_id} -- 任务参数:{args} -- 失败信息: {exc}"
        send_mail("celery任务监控失败告警", info, settings.EMAIL_HOST_USER,  ['[email protected]', '[email protected]'])
    
    def on_retry(self, exc, task_id, args, kwargs, einfo):
        info = f"任务id: {task_id} -- 任务参数:{args} -- 重试了 -- 失败信息: {exc}"
        print(info)
        # send_mail("celery任务监控成功告警", info, settings.EMAIL_HOST_USER, ['[email protected]'])

# 如果bind=True 第一个参数就成了self
@shared_task(base=SendEmailTask)
def add(x, y):
    return x + y

#下面的写法也可以
@shared_task(base=SendEmailTask, bind=True)
def add(self, x, y):
    return x + y

正常发送邮件

我这里是用的126邮箱

# 1. 将Python内置的模块(功能导入)
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

# 2. 构建邮件内容
msg = MIMEText("跟着光 成为光  散发光", "html", "utf-8")
# 显示发件人的名称/邮件地址 自己的  就是发件人
msg['From'] = formataddr(['纯二', '[email protected]'])  
msg['to'] = '[email protected]'  # 发给谁
msg['Subject'] = "你最喜欢的一句话"  # 主题

# 3. 发送邮件
sever = smtplib.SMTP_SSL("smtp.126.com")
sever.login("[email protected]", "xx")  # 账户/授权码
# 自己邮箱/目标邮箱/内容
sever.sendmail("[email protected]", "[email protected]", msg.as_string())  

标签:task,--,id,发送,com,EMAIL,邮件
From: https://www.cnblogs.com/ccsvip/p/18220856

相关文章

  • SSL发送邮件时如何配置客户端确保安全性?
    怎么使用SSL安全协议通过AokSend发送加密的电子邮件?SSL是一种常用的加密通信协议,用于确保数据在客户端和服务器之间的安全传输。AokSend将讨论如何通过配置客户端确保SSL发送邮件的安全性,并介绍如何使用SSL安全协议通过AokSend发送加密的电子邮件。SSL发送邮件:配置端口选择......
  • Ubuntu发送邮件功能在客户端如何设置自动?
    Ubuntu系统下AokSend邮件发送功能的使用技巧有哪些?在Ubuntu系统中,设置自动发送邮件功能对于管理服务器和监控系统来说非常重要。AokSend将介绍如何在Ubuntu客户端上设置自动发送邮件功能,并探讨使用AokSend发送邮件的技巧和注意事项。Ubuntu发送邮件:功能设置确保sendmail发......
  • SpringMail发送邮件如何配置?有哪些限制?
    SpringMail发送邮件时,AokSend服务的安全性如何保障?在Java开发中,使用SpringMail发送邮件是一种常见的方法。AokSend将详细介绍SpringMail发送邮件的配置方法,探讨其可能的限制,并讨论在使用AokSend服务时如何保障安全性。SpringMail发送邮件:配置在pom.xml文件中添加spring-boo......
  • Spring Boot发邮件时如何配置SMTP服务器?
    AokSend提供的API如何与SpringBoot发信功能做集成?SpringBoot作为一个流行的Java框架,提供了简便的配置方式来发送邮件。AokSend将详细介绍如何在SpringBoot中配置SMTP服务器,并讲解如何实现高效的sendmail发送邮件。SpringBoot发邮件:配置步骤需要在application.propertie......
  • 在Linux中,如何进行邮件服务器配置?
    在Linux中配置邮件服务器是一个涉及多个组件的过程,包括邮件传输代理(MTA)、邮件投递代理(MDA)和可选的邮件用户代理(MUA)。以下是使用Postfix作为MTA、Dovecot作为IMAP/POP3服务的通用步骤:1.安装邮件服务器组件1.1Postfix(MTA)sudoaptupdatesudoaptinstallpostfix在安装过......
  • C++ - tcp网络传输如何发送结构体类型
    1、tcp网络传输如何发送结构体类型 在C++中,要通过TCP网络传输结构体类型,你需要将结构体序列化为字节流,然后在另一端反序列化。这里有一个简单的例子:#include<iostream>#include<cstring>#include<sys/socket.h>#include<netinet/in.h>#include<unistd.h>//假设......
  • python发送多个图片
     #-*-coding:utf-8-*-fromemail.mime.textimportMIMETextfromemail.mime.imageimportMIMEImagefromemail.mime.multipartimportMIMEMultipartimportsmtplibimportdatetimeimportosmail_to="[email protected]"mail_host="mail.qq.c......
  • Android通过adb命令模拟发送广播
    前言通过命令行执行adbshellambroadcast发送广播通知。adbshellambroadcast后面的参数有:<INTENT>specificationsincludetheseflagsandarguments:[-a<ACTION>][-d<DATA_URI>][-t<MIME_TYPE>][-c<CATEGORY>[-c<CATEGORY>]...][-e|--......
  • iic发送地址后没有应答
    现象描述iic主机发送地址后,从机没有返回信号给主机,即没有应答信号。分析首先是硬件有没有问题,包括传感器虚焊、地址选择口有没有添加这些。先检查硬件是否连接正常,保证能有信号给到从机。再者,软件的问题,包括iic控制是否正常、传感器地址是否正确、速率匹配问题、是否符合iic协......
  • 在Spring Boot应用中使用RestTemplate类发送不同的HTTP GET请求(带请求头、不带请求头)
    原文链接:https://www.cnblogs.com/windyWu/p/16872871.html在本文中,你将学会在SpringBoot应用中使用RestTemplate类发送不同的HTTPGET请求。简单GET请求发送GETHTTP请求,可以使用getForObject()或getForEntity()方法。如下示例,使用getForObject()方法获取JSON字符串形式的用......