一、Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]
Debian 11
一、安装
apt install postfix
二、配置
1.dns配置
解释:搭建真实的邮件服务器需要在DNS提供商那里配置下面的dns
- 配置A记录
mail.www.com-1.x.x.x - 配置MX记录
www.com-mail.www.com
解释:按照上面的配置通常邮件格式就是admin@www.com其通过www.com的MX记录找到mail.www.com再通过其A记录来找到对应服务器完成通讯
2.基础配置
解释:配置main.cf文件(位置/etc/postfix/main.cf),下面的配置包括上面的按照自己实际的域名来配置
假设
- 域名为
www.com - 邮件地址(主机名):
mail.www.com
修改里面的内容:
myhostname = mail.www.commydomain = www.commyorigin = $myhostname #在上面配置的下面home_mailbox = Maildir/
重启:service postfix restart
查看25端口是否开启:netstat -lnpt(特别提醒一般的服务器25端口并不会开启,可能需要向服务器提供商进行申请)
测试邮件发送:echo "测试邮件正文" | sendmail xxxxx@qq.com (一般会发送到垃圾邮件里面)
三、smtp认证
安装:安装sasl认证模块apt-get insatll sasl2-bin
解释:配置main.cf文件(位置/etc/postfix/main.cf),下面的配置写入到该文件内
#配置smtp认证
#开启SMTP服务器的SASL认证功能
smtpd_sasl_auth_enable = yes
#设置SASL认证的本地域名为服务器的域名
smtpd_sasl_local_domain = $mydomain
#设置接收方限制条件,允许来自本地网络的请求和经过SASL认证的请求,拒绝未认证的目标
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated
# 允许不完全符合SASL规范的认证客户端连接
broken_sasl_auth_clients = yes
#设置SMTPD的SASL路径
smtpd_sasl_path = smtpd
#禁用匿名访问SASL认证
smtpd_sasl_security_options = noanonymous
# 在邮件头中包含经过SASL认证的用户名信息
smtpd_sasl_authenticated_header = yes
# 设置邮件大小限制为15MB
message_size_limit = 15728640
创建用户:saslpasswd2 -c -u baidu.com(你的域名) admin(用户) #回车后要输入两次密码
查看用户列表:sasldblistusers2 -f /etc/sasldb2
重要配置:
- 将sasl用户数据库放在postfix可以打开的目录里面(postfix所能浏览的目录有限制故必须把数据库文件复制到postfix的运行目录下不然在用户验证的时候会出错)(每次创建新用户后都要执行一遍):
cp -a /etc/sasldb2 /var/spool/postfix/etc/ - 将postfix添加到sasl组(这样就有了对/var/spool/postfix/etc/读取的权限):
gpasswd -a postfix sasl
四、Python发送邮件以及防垃圾邮件方法
1.发送格式
标准代码:设置好发送者,送达人,发送时间等标准格式避免被勿任为垃圾邮件
import smtplibfrom email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMETextfrom email.utils import formatdate
def sendmail(email_, header, content):from_addr = 'd@admin.xxx'passwd = 'g'# 邮件内容message = MIMEMultipart()message.attach(MIMEText(content, 'plain', 'utf-8'))# 设置发件人和主题message['From'] = f'FreeAi<{from_addr}>' # 发件人message['To'] = email_ # 发给谁message['Subject'] = Header(header, 'utf-8') # 主题message['Date'] = formatdate(localtime=True)smtp = smtplib.SMTP("mail.admin.xxx", 25) # 创建安全的smtp对象,依赖smtp服务器的安全配置smtp.login(from_addr, passwd)smtp.sendmail(from_addr, to_addrs=email_, msg=message.as_string())smtp.quit()
content = '''
诚挚的问候,
您的名字 Jack
'''
sendmail('88@qq.com','关于',content)
2.SPF
解释:发件人策略框架(SPF)是一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案
步骤:
- 打开DNS服务器进行更改:TXT-(名称)yourdomain.com-(内容)v=spf1 a mx ip4:8.8.0.0 ~all
注意:yourdomain.com应填自己的域名;8.8.0.0应填自己的ip
3.RDNS
解释:反向DNS查找或者反向DNS解析(rDNS)用于判定一个域名与给定IP是否互相关联。有些公司例如AOL会拒绝没有进行反向解析的发件服务器发出的所有消息,所以你必须确保你进行了反向解析。
可能1(自建服务器):
- 打开DNS服务器进行更改:PTR-(名称)8.8.0.0-(内容)mail.yourdomain.com
- 注意:
mail.yourdomain.com应填自己的子域名;8.8.0.0应填自己的ip
可能2(云服务器):
- 在控制台更改Reverse DNS,改为
mail.yourdomain.com(自己的子域名)
4.DKIM
解释:DKIM是一种电子邮件身份验证协议。它使用公钥密码学来验证发送的电子邮件的完整性和来源。发件服务器使用私钥对邮件进行签名,而邮件接收服务器使用公钥来验证签名的有效性。DKIM的目标是证明邮件确实是由所声明的发件人发送,并且未被篡改
下载:sudo apt install opendkim opendkim-tools
Linux中执行命令:opendkim-genkey -b 2048 -s selector1 -d example.com(其中selector1 比较重要下面还要用(可自定义);example.com是自己的域名)
获取公钥:openssl rsa -in selector1.private -pubout -out selector1.public(其中selector1与上面要保持一致,公钥就生成在selector1.public文件)
步骤:
- 打开DNS服务器进行更改:TXT-(名称)selector1._domainkey.mail.yourdomain.com-(内容)v=DKIM1;p=MII…
注意:selector1还是要与上面保持一致;p对应上面的公钥
5.DMARC
解释:DMARC 是一个域基础的邮件身份验证和反欺骗协议。它结合了两个其他协议,即DKIM和SPF(Sender Policy Framework),以确保发件人的域名身份验证和防止邮件欺骗
步骤:
- 打开DNS服务器进行更改:TXT-(名称)_dmarc-(内容)v=DMARC1; p=none; pct=100
五、使用腾讯云邮件服务
解释:自建的邮件服务器,不仅25端口申请很麻烦,而且邮件容易变成垃圾邮件,这个还不是最麻烦的,最麻烦的是比如向QQ邮箱发邮件,本人亲测,发了十几封后,几十分钟或数小时再次向QQ邮箱发的邮件因为频率限制被拒收,这种情况不如使用腾讯云邮件服务,其也可以用自己的域名,只需在DNS上配置即可,而且价格相对比较低
使用方法:按下图成功配置后,就去新建发信地址,那里面有可以获取邮箱,和SMTP密码,此时就能很方便的去发邮件了,如直接用上面的python代码,把账号和密码换成腾讯云邮件推送里面的邮箱和SMTP密码即可
网址:https://console.cloud.tencent.com/


相关文章:
一、Postfix[安装与配置、smtp认证、Python发送邮件以及防垃圾邮件方法、使用腾讯云邮件服务]
Debian 11 一、安装 apt install postfix 二、配置 1.dns配置 解释:搭建真实的邮件服务器需要在DNS提供商那里配置下面的dns 配置A记录mail.www.com-1.x.x.x配置MX记录www.com-mail.www.com 解释:按照上面的配置通常邮件格式就是adminwww.com其通过…...
React哲学——官方示例
在本篇技术博客中,我们将介绍React官方示例:React哲学。我们将深入探讨这个示例中使用的组件化、状态管理和数据流等核心概念。让我们一起开始吧! 项目概览 React是一个流行的JavaScript库,用于构建用户界面。React的设计理念是…...
设计模式之开闭原则
什么是开闭原则? 开放封闭原则称为OCP原则(Open Closed Principle)是所有面向对象原则的核心。 “开闭原则”是面向对象编程中最基础和最重要的设计原则之一。 软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一…...
Linux中的file命令:查看文件类型
2023年8月1日,周二上午 目录 简要说明使用方法MIME类型举例说明 简要说明 在Linux中,file命令用于识别文件类型。 file命令可以识别各种类型的文件,包括普通文件、目录、符号链接、设备文件、压缩文件、二进制可执行文件等。 它是一个非常…...
使用WiFi测量仪进行机器人定位的粒子过滤器研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【vue】vue 里面使用 v-html 插入的文本带有换行符‘\n‘不换行
最近开发vue2 项目 ,接口返回的是类似于这样的数据:我是第一行的哦\n我是第二行的哦 我是直接这样渲染的, //html <p v-htmltext></p>//渲染值 this.text "我是第一行的哦\n我是第二行的哦"但结果却是不如意&#x…...
Java失效算法与应用(FIFO、LRU、LFU)
文章目录 一、什么是失效算法二、先来先淘汰(FIFO)1、FIFO概述2、Java实现FIFO3、FIFO特点 三、最久未用淘汰(LRU)1、LRU概述2、Java实现LRU 四、最近最少使用(LFU)1、LFU概述2、Java实现LFU 五、应用案例 …...
Go语音介绍
Go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编…...
Vue2与Vue3响应式原理
Vue2的响应式 Vue3的响应式...
flask中写一个基础的sqlHelper类
写一个SQLHelper类: from flask_sqlalchemy import SQLAlchemydb SQLAlchemy()class SQLHelper:staticmethoddef add(record):db.session.add(record)return SQLHelper.session_commit()staticmethoddef add_all(records):db.session.add_all(records)return SQLH…...
opencv的Mask操作,选择图片中感兴趣的区域
最近做目标检测任务的时候,需要对固定区域的内容进行检测,要用到opencv的mask操作,选择图片固定的区域 代码 import cv2 import numpy as npimg cv2.imread(data/images/smoking.png)# 弹出一个框 让你选择ROI | x,y是左上角的坐标 x,y,w,…...
一次有趣的Webshell分析经历
一次有趣的Webshell分析经历 1.拉取源代码2.解密后门代码3.分析webshell逻辑4.分析404的原因5.附:格式化后的php代码 1.拉取源代码 在对某目标做敏感目录收集时发现对方网站备份源代码在根目录下的 backup.tar.gz,遂下载,先使用D盾分析有没有…...
【NLP概念源和流】 05-引进LSTM网络(第 5/20 部分)
一、说明 在上一篇博客中,我们讨论了原版RNN架构,也讨论了它的局限性。梯度消失是一个非常重要的缺点,它限制了RNN对较短序列的建模。香草 RNN 在相关输入事件和目标信号之间存在超过 5-10 个离散时间步长的时间滞时无法学习。这基本上限制了香草RNN在许多实际问题上的应用,…...
Vue没有node_modules怎么办
npm install 一下 然后再npm run serve 就可以运行了...
企业级高负载web服务器-Tomcat小项目
目录 web静态动态页面区别安装java环境安装Tomcat安装Tomcat包到目录查看Tomcat主目录结构查看Tomcat配置目录结构Tomcat管理Tomcat web管理功能 部署jpress应用 web静态动态页面区别 静态页面: 在网站设计中,纯粹HTML格式的网页(可以包含图…...
《golang设计模式》第一部分·创建型模式-03-建造者模式(Builder)
文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 角色 Builder(抽象建造者):给出一个抽象接口,以规范产品对象的各个组成成分的建造。ConcreteBuilder(具体建造者)&a…...
git 忽略掉不需要的文件
第一步:创建.gitignore文件 touch .gitignore 第二步:使用vi编辑器 输入不需要的文件,或用通配符*来忽视一系列文件 效果:...
摄像机sd卡格式化怎么恢复数据?简单五步轻松解决
在使用摄像机时,有时不慎将SD卡格式化,导致重要的照片或视频文件丢失。然而,不必惊慌,本文将详细解释如何恢复被格式化的摄像机SD卡上的数据,可通过下面提供的五步,轻松解决数据丢失问题,以确保…...
1-4 AUTOSAR方法论--开发流程
目录 一、方法论 二、单个ECU开发流程 一、方法论 AUTOSAR 方法论(AUTOSAR Methodology)中车用控制器软件的开发涉及系统级、ECU 级的开发。 系统级:主要考虑系统功能需求、硬件资源、系统约束,然后建立系统架构; 输…...
Win10查询硬盘序列号
添加wmic命令 winR cmd命令 wmic diskdrive get model, serialnumber...
AI Agent在智能风控中的实战:多智能体欺诈检测与预警
AI Agent在智能风控中的实战:多智能体欺诈检测与预警 你有没有过明明是正常交易却被银行冻结账户的糟糕体验?或是听说过某电商平台上线新活动首日就被黑产团伙薅走数千万补贴的新闻?随着黑产欺诈向团伙化、专业化、动态化演进,传统依赖规则引擎、单模型机器学习的风控体系已…...
飞书远程控机:OpenClaw配置全攻略
本文详细介绍如何通过 OpenClaw 工具对接飞书开放平台,配置智能机器人实现 Windows 电脑的远程控制。主要内容涵盖文件管理和程序启动等核心功能的实现方法,并提供完整的配置指南与常见问题解决方案。 一、使用前提说明 1. 系统要求 仅适用于 Windows…...
echarts中heatmap鼠标滚动禁用缩放,向下滚动
配置如下效果如下...
3步深度解锁:网络设备权限管理工具的实战手册
3步深度解锁:网络设备权限管理工具的实战手册 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 你是否曾面对功能受限的网络设备感到束手无策?当默认配置锁死了硬…...
Arcmap实操:如何用‘渔网’给你的地图做一次‘CT扫描’——以韶关市路网密度可视化为例
Arcmap实操:如何用‘渔网’给你的地图做一次‘CT扫描’——以韶关市路网密度可视化为例 想象一下,医生通过CT扫描将人体内部结构分层呈现,而GIS中的"渔网"工具同样能对城市路网进行"切片式"分析。这种空间离散化技术&…...
真可用!美团数字人模型开源,MV、电商等统统拿下
美团开源的数字人视频生成框架 LongCat-Video-Avatar 刚刚更新到 1.5 版本。是真能用。这版更新把音频编码器换了,推理步数砍到8步,在770人、13240条主观评分的大规模评测里,雷达图面积全面领先。音频编码器换血,8步出图LongCat-V…...
InVideo插件深度解析:如何在Unreal Engine中实现高效视频流播放与录制
InVideo插件深度解析:如何在Unreal Engine中实现高效视频流播放与录制 【免费下载链接】InVideo 基于UE4实现的rtsp的视频播放插件 项目地址: https://gitcode.com/gh_mirrors/in/InVideo InVideo是一个基于Unreal Engine 5开发的RTSP视频播放插件࿰…...
在线文档协作工具选型必看:14款产品对比(2026版)
一、在线文档协作工具的概念解析及其核心功能 在线文档协作工具是基于云端的文档创建、编辑、共享与协同沟通平台,核心目标是让团队在同一份资料上“实时共同工作”,减少反复传文件、版本混乱与沟通成本。 企业常见的核心能力包括: 多人实…...
机器学习在射电天文数据分类中的应用:以MIGHTEE巡天SFG/AGN分类为例
1. 项目概述:当机器学习遇见深空射电巡天在射电天文学领域,我们正经历一场数据洪流。以MeerKAT望远镜阵列主导的MIGHTEE巡天项目为例,其在COSMOS天区的一次早期科学数据释放,就在不到1平方度的天区内探测到了超过6000个射电源。传…...
微信聊天图片丢了别慌!保姆级教程:找回并解密DAT文件(支持新旧版微信路径)
微信DAT图片恢复实战:从文件定位到批量解密的完整指南 微信聊天记录中的图片突然消失?别急着放弃!那些看似无法打开的DAT文件里,可能藏着您的重要回忆或工作资料。本文将带您深入微信存储机制,手把手完成从文件定位到…...
