跳到正文
TURNKEYGNU / LINUX
应用文档博客截图GitHubTurnKey Hub
文中文
EnglishEspañol中文日本語PortuguêsDeutsch
ưμ㼯A/电子邮件:通过 SMTP 中继发送电子邮件

文档

电子邮件:通过 SMTP 中继发送电子邮件

所有最近的 TurnKey 服务器船 后缀 MTA (中文(简体) ).邮件传输代理)预安装和配置,以便直接从服务器发送电子邮件。 默认情况下,这包括系统电子邮件,例如关于已安装的安全更新的信息以及应用程序特定电子邮件:例如. 媒体维基, WordPress 密码 以及大多数其他软件。

以确保您的电子邮件能真正难到。 许多邮件提供者会默默地从随机IP地址(即您的TurnKey服务器)中阻断/投放邮件. 即使他们真的到了,他们被自动标为垃圾邮件的机会也非常大.

如果您的服务器有静态IP,则可以适当配置您的服务器,以增加其被发送的机会,而不标为垃圾邮件。例如, ,并配置所有相关缩略语,例如: PTR 密码, DKIM 密码, SPF 密码, DMARC 密码 可能的话 混合 - 如果您想要同时收到邮件(如何完成超出此文件页面范围的所有事务) 。 然而,您还需要监视邮件块列表,以确保您的服务器的IP不会被黑名单所覆盖.

所以对于大多数用户来说,通过一个电子邮件发送邮件更容易,一般更可靠. SMTP 密码 中继。这个 doc 页面涵盖了基本内容,但如果您有更具体的查询,请在 论坛.

设置/配置

如前所述,所有最近的TurnKey服务器包括Postfix MTA. Confconsole 密码 (我们的自定义 CLI 配置工具) 支持简单 SMTP 中继配置。假设您正确配置它:使用您 SMTP 中继服务所提供的相关证书,那么它应该"正常工作".

以及系统电子邮件,您TurnKey服务器内的特定应用设备软件(例如. 媒体维基, WordPress 密码)等)也应预配置,以使用本地Postfix MTA. 因此,除非您希望使用一个替代的 SMTP 中继器发送应用程序特定电子邮件,否则可能不包含配置一个相关的应用程序特定地址“从”地址(在“从”地址中”) 软件本身),不需要额外的电子邮件配置. 如果您想要使用一个 SMTP 备用继电器来进行应用, 大多数软件应该能够配置, 但每个软件都不同 。 请参看相关申请文件 如何做到这一点。

配置系统电子邮件“ FROM” 地址

如上所述,TurnKey库内的大部分特定应用设备软件(如. 媒体维基, WordPress 密码)有配置"FROM"地址的设施(详见具体的应用程序配置). 然而,当使用这样的配置时,系统电子邮件会默认从root@hostname发送(如果 ,也可以在 Confconsole 中配置。 个人而言,我就是这样离开我的服务器的, 只要每个服务器都有一个独特的主机名, 足够让许多用户使用。 然而,有些用户可能想要地址中的特定信息。事实上,有些SMTP中继服务甚至可能要求您的邮件来自特定的电子邮件域/地址。

要配置通用系统电子邮件的自定义地址 - 而不是默认的“ root@ localhost ” - 请遵循以下步骤 。 注意需要文本编辑器. CLI 文本编辑器 纳米 和 vim-tiny (最小化者) vim 时)默认情况下被预先安装在 TurnKey 中,尽管我个人安装 新维姆 这些天( apt 更新 QQpt 安装 newvim -y' ) 。 如果您喜欢网络 UI, 使用 Webmin 构建在文本编辑器中是另一个选项 。 下面的例子配置假设您希望发送电子邮件为“myaccount@mycustomdomain.com 密码'.

首先编辑 Postfix 配置文件; /etc/postfix/main.cf 并添加此行 :

smtp_generic_maps = hash:/etc/postfix/generic

然后创建下面的 /etc/postfix/generic 文件( 您的服务器主机名是“ hostname” , 并且“ ” )myaccount@mycustomdomain.com 密码'这是你们所欲达到的地址:

root@localdomain myaccount@mycustomdomain.com
@localdomain myaccount@mycustomdomain.com
root@hostname  myaccount@mycustomdomain.com

一般来说,对于系统电子邮件,您只需要添加以上词组即可。但是,如果需要/需要,可以添加额外的 Linux 用户 。 这样做时, 添加这样的添加行( 本地 Linux 用户是“ userA ” , 并假设上面的“ FROM ” 地址相同 ) :

userA@hostname myaccount@mycustomdomain.com

然后应用更新的 Postfix 配置, 运行 Postmap 并重新启动 Postfix( 假设运行为根用户 - 如果不是, 则在每行前加“ sudo ” ):

postmap /etc/postfix/generic
systemctl restart postfix

现在所有先前从 root 发送的电子邮件@ hostname( 如果配置的话, 用户A@ hostname) 将自动将 FROM SMTP 字段发送为 myaccount@mycustomdomain.com 密码.


以下用于配置特定的STMP中继服务. 请注意,该文件已经相当过时,可能不再相关----仅仅使用上文提到的Confconsole MTA插件就足够了。 但是,如果你想手动配置一些东西,下面的很可能仍然相关. 如果您想使用这些文件中的任何文件, 并发现错误或问题, 请随意打开论坛的新线索以获得援助 。 或者,如果您成功配置了以下服务之一,且以下服务并不完全正确,请随意编辑此文档(必须登录).

其他配置

以下的后缀配置是迄今为止测试的所有smtp中继服务的一般配置 :

/etc/postfix/main.cf 的配置附加 :

cat >> /etc/postfix/main.cf <<EOF

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/private/cert.pem
smtp_use_tls = yes
inet_protocols = ipv4
EOF

取决于您使用何种继电器服务,以下步骤可能略有不同。以下例子显示如何使用该设备设置。 邮件 SMTP中继服务, 弹性邮件服务与 亚马逊 SES. 如果你有不同的服务, 那么希望下面会给你一些想法来检查。

 

邮件

(建议您使用您的个人 gmail 账户来获取此信息)

在 /etc/postfix/main.cf 中添加 Gmail 作为 SMTP 中继 :

sed -i "s|^relayhost =.*|relayhost = [smtp.gmail.com]:587|" /etc/postfix/main.cf

然后将您的用户名和密码添加到 /etc/postfix/sasl_passwd 中, 将 USERNAME 替换为您的用户名( Google Apps 账户的注意替换) USERNAME@gmail.com 密码 与 USERNAME@YOUR_DOMAIN.TLD 密码)和密码的PASSWORD。

cat > /etc/postfix/sasl_passwd <<"EOF"
[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD
EOF

在您的新密码文件中运行邮戳

postmap /etc/postfix/sasl_passwd

计 划 一f 不论你因何种原因禁用 TLS 您需要允许从邮戳访问您的 gmail 账户, 以便输入您的 google 账户并点击“ Turn On” 时访问以下链接。 高度推荐你别这么做

https://www.google.com/settings/security/lesssecureapps 密码

最后重启后补

service postfix restart

都结束了!

 

弹性邮件

首先,你需要编辑/etc/postfix/main.cf, 并设置您的中继主机给相关的主机, 在这种情况下

sed -i "s|^relayhost =.*|relayhost = [smtp.elasticemail.com]:587|" /etc/postfix/main.cf

然后,你需要设置你的登录细节 与你发现的在 https://elasticemail.com/account#/settings 密码 在您的 /etc/postfix/sasl_passwd 文件内
 类似( 以您的用户名和密码替换 USERNAME 和 PASSWORD ) 。

cat > /etc/postfix/sasl_passwd <<"EOF"
[smtp.elasticemail.com]:587    USERNAME:PASSWORD
EOF

现在运行您的 /etc/postfix/sasl_passwd 文件的邮戳

postmap /etc/postfix/sasl_passwd

并重新启动后补补,你应该可以走了!

service postfix restart

 

亚马逊 SES

首先,你需要选择你喜欢的地区,并获得你的SMTP账户细节(与你的amazon账户细节不同). 您可以从以下链接读取此信息 。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html 密码 区域列表

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html 密码 SMTP 全权证书

您还需要认证您想要发送邮件的电子邮件地址, 您可以点击 SES , 然后在“ 身份” 下“ 电子邮件地址” , 从 Amazon Console 中实现此目的 。 管理

 

现在我们需要编辑/etc/postfix/main.cf

如果您看到一条“ 中继主机 =” 的行, 替换该行, 否则在结尾处添加以下内容

relayhost = [region-you-selected]:25

现在您需要编辑 /etc/postfix/sasl_passwd 所以它有认证可以访问服务器 。

[region-you-selected]:25    smtp-username:smtp-password

现在就运行

postmap /etc/postfix/sasl_passwd

并重新启动后补丁,您的服务器应该工作

NOTE: 密码

如果您仍然处于沙盒模式, 您必须验证您发送邮件的地址以及您发送邮件的地址 。

TURNKEYGNU / LINUX

无需从零开始,掌控自己的基础设施。

探索 TurnKey
关于文档常见问题博客GitHub
自由开源默认安全随时可部署