【云计算的1024种玩法】使用 MSMTP 实现底层环境的 阿里云·邮件推送服务 兼容

本文涉及的产品
.cn 域名,1个 12个月
简介: 现在很多的服务器提供商因为担心租户垃圾邮件滥发,默认都会把出入口的非加密 SMTP 端口也就是 25 给封了,这就导致了很多用户搭建好 Web 环境后使用 SendMail、EXIM4、Postfix 无法发送邮件,而搭建加密的 SSL 或者 TLS 方式又太复杂。

前言

很多阿里云用户经常在开发者论坛反应服务器的 25 端口被封无法发件。但其实这是阿里云的一定保护措施,由于一些散播垃圾邮件的用户会通过 ECS、轻量 等服务搭建一个建议的 SMTP 服务器进行垃圾邮件滥发,这就可能导致很多邮件服务商会把阿里云的IP判断为垃圾邮件的IP源,就会导致下一个使用这个公网IP甚至是整个IP段都会收到波及。所以也不仅仅是阿里云,大多数的虚拟化服务器的提供商都会默认封禁 25 端口。

但是用户自己搭建基于 SSL、TLS 加密的 SMTP 服务器,技术难度太高。用第三方 SMTP 服务,又需要额外设置或者安装插件扩展什么的,这里将介绍使用 MSMTP 实现在服务器使用第三方 SMTP 服务并完美兼容 SendMail 的规则。

介绍

MSMTP 是一个非常简单易用的 SMTP 客户端软件,基于GPL发布,支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性,实现对 SendMail 的完整兼容。主要分两个包:MSMTPMSMTP-MTA,前者实现了邮件转发代理,后者实现了对 SendMail 的完整兼容。

针对 SMTP 呢,主要还是推荐使用像 阿里云·邮件推送 这样的专业邮件推送服务,如果使用 Gmail、FoxMail、Aliyun Mail 这样的个人邮箱服务,如果发送邮件过多会被禁止发送邮件。 而 邮件推送 每日 200 封的发件额度基本上可以应对不小的服务场景了。

要求 & 收获

需要使用到的产品:

  1. 任意(包括非阿里云)服务器/ECS/轻量应用服务器 (安装 CentOS 操作系统)
  2. 阿里云·邮件推送

通过本文你将讲学到:

  1. 开通设置 阿里云·邮件推送
  2. 使用 MSMTP 实现邮件转发代理

开通邮件推送

进入 邮件推送,点击 申请开通 并进行管理。

一、进入控制台,左侧列表中进入点击 发信域名 ,再点击 新建域名 ,设置你的发件域名,例如我的是:mail.mf8.biz ,那么效果就是 xxxx@mail.mf8.biz

image

二、点击 配置 将每一个配置添加到域名 DNS 中,返回后再点击 验证

三,左侧列表中进入点击 发信地址,再点击 新建发信地址账号 一栏推荐填写 noreply 提示不可回复,如果接受回复的话可以在 回信地址 中填写收件的邮箱

然后 发件类型 填写 触发邮件, 触发类邮件指注册激活、密码找回等;批量邮件指营销推广、订阅期刊等。不同类型邮件的发送限制不同,请根据邮件类型选择。

image

四、在对应账号中点击 设置SMTP密码

设置 MSMTP

安装

RHEL/CentOS:

首先需要安装 EPEL,已经安装完成跳过即可:

yum install epel-release

然后安装两个软件:

yum install msmtp msmtp-mta ca-certificates

Debian/Ubuntu

apt install msmtp msmtp-mta ca-certificates

设置

新建 /etc/msmtprc 文件,内容如下:

account default
host smtpdm.aliyun.com
port 465
timeout 30
auth login 
# 下面填写发件账户
user no-reply@mails.mf8.biz
# 账户密码
password Passw0rd
auto_from off
# 下面填写发件账户
from no-reply@mails.mf8.biz
tls on
tls_starttls off
tls_certcheck off
logfile /var/log/msmtp.log

这是阿里云邮件推送的设置模板,其他的邮件推送和设置请参考官方教程:http://msmtp.sourceforge.net/doc/msmtp.html

权限

由于这里文件储存了明文的密码所以要权限要设置的低!

chown www-data:www-data /etc/msmtprc
chmod 0666 /etc/msmtprc

这里的 www-data:wwww-data 要和 PHP 的用户组一致,如果是 www 就改成 wwwapache 也是一样。

测试

一、在终端中输入:

msmtp <你的邮箱>

如果没有任何反应那么就 ok 了,如果有反馈就根据反馈信息对配置文件进行修改。

二、通过探针或者 WordPress、Discuz 这样的程序的忘记密码进行测试是否可行即可!

完成后,所有依赖 SendMail 进行邮件发送的二进制软件这样的服务基本上都可以支持获得发件功能了~

目录
相关文章
|
4天前
|
安全 云计算
云计算演进问题之自服务能力在云计算中扮演角色如何解决
云计算演进问题之自服务能力在云计算中扮演角色如何解决
|
4天前
|
人工智能 云计算 数据中心
云计算演进问题之阿里云自研CPU倚天710的部署如何解决
云计算演进问题之阿里云自研CPU倚天710的部署如何解决
|
5天前
|
存储 安全 网络安全
云上守护:云计算环境下的网络安全策略
随着云计算技术的飞速发展,企业和个人越来越依赖云服务来存储和处理数据。然而,云环境的开放性和复杂性也引入了新的安全威胁。本文将探讨云计算中的网络安全挑战,并提出有效的安全策略,旨在为读者提供在云环境中保护信息安全的实用指南。
11 1
|
8天前
|
人工智能 监控 安全
构筑防御堡垒:云计算环境下的网络安全策略与实践
【7月更文挑战第43天】 随着企业逐渐将数据和服务迁移至云端,云计算的安全性已成为信息安全领域的重中之重。本文旨在探讨在动态且复杂的云环境中,如何实施有效的网络安全措施来保护数据完整性、保密性和可用性。文章分析了当前云服务中存在的安全挑战,并提出了多层次的安全框架和最佳实践,以帮助组织构建强大的网络防御体系。此外,文中还讨论了利用新兴技术如人工智能和区块链来增强云环境安全性的潜力。
|
22天前
|
存储 网络安全 云计算
云计算环境下的网络安全挑战与对策
【7月更文挑战第29天】随着信息技术的快速发展,云计算作为一种新兴的服务模式,已经深入到各行各业中。然而,云计算在带来便利的同时,也带来了一系列网络安全问题。本文将探讨云计算环境下的网络安全挑战,并提出相应的对策。
|
22天前
|
JSON API 数据安全/隐私保护
阿里云邮件推送邮件发送失败的问题排查解决
阿里云邮件推送服务中邮件发送失败的排查方法包括:确认SMTP设置正确无误;验证发信域名和邮件地址;检查是否超出发送配额;审查邮件内容以确保合规;确保网络连接稳定;利用发送日志诊断具体问题。当阿里云邮件推送服务出现问题时,可考虑使用AOKSend作为替代方案,其配置简单且服务稳定可靠,支持多种配置选项,并提供详尽的文档支持。示例Python代码展示了如何使用AOKSend API发送邮件。这些步骤有助于确保邮件的顺利发送。
|
26天前
|
云安全 安全 网络安全
云计算环境下的网络安全挑战与对策
【7月更文挑战第25天】在数字化时代,云计算作为信息技术的一大支柱,其安全性问题日益受到重视。本文旨在深入探讨云计算环境中存在的网络安全风险,并针对性地提出相应的安全策略和措施。通过分析云服务模式、网络攻击手段以及信息安全管理的实践,旨在为云服务提供商和用户构建一个更加安全可靠的云计算环境提供指导。
|
24天前
|
监控 安全 网络安全
云计算环境下的网络安全挑战与策略
【7月更文挑战第26天】在数字化转型的大潮中,云计算作为推动企业技术革新和业务增长的重要力量,其安全性问题也日益凸显。本文从云服务的基本概念出发,深入探讨了云计算环境中存在的网络安全风险,包括数据泄露、服务中断等,并针对这些风险提出了相应的安全策略。文章强调,通过加强身份认证、数据加密、访问控制以及实施持续的安全监控和评估,可以有效提升云计算环境的安全性。此外,文章还讨论了信息安全管理在确保云计算服务安全中的关键作用,旨在为读者提供一个全面的云计算网络安全框架。
|
27天前
|
存储 安全 网络安全
云计算环境下的网络安全挑战与对策
【7月更文挑战第23天】在数字化时代的浪潮中,云计算技术已成为推动企业信息化发展的重要力量。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境中存在的安全风险,并提出相应的解决策略,旨在为云服务用户提供一个安全的网络环境。
|
26天前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求