您好,我在网上查看了许多不同的指南,了解如何在设备/服务器出现问题时从 ubuntu 18.04 向我的 gmail 发送系统邮件 - 但找不到我认为有意义的简单指南?有人有什么建议吗?
我不想设置邮件服务器,但是当我是初学者时,它要尽可能简单。如果我可以使用 google smtp 服务器来做到这一点,那将是一个优势,而不必弄乱我自己的域:)
安装获得处理邮件的基本系统所需的软件包:
sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
Run Code Online (Sandbox Code Playgroud)
接下来修改(以 root 身份)配置文件,/etc/postfix/main.cf使其具有如下内容:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs
smtp_use_tls = yes
Run Code Online (Sandbox Code Playgroud)
接下来创建/修改(以 root 身份)/etc/postfix/sasl_passwd要包含的内容:
[smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD
Run Code Online (Sandbox Code Playgroud)
确保文件的权限是正确的,否则它可能会生气:
sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
Run Code Online (Sandbox Code Playgroud)
最后重新加载postifx:
sudo /etc/init.d/postfix reload
Run Code Online (Sandbox Code Playgroud)
现在你可以运行一个测试:
echo "Test mail thingy" | mail -s "Test Postfix Subject" username@gmail.com
Run Code Online (Sandbox Code Playgroud)
您应该会收到一封来自您配置的 SMTP 帐户的电子邮件。
为了将本地(系统)电子邮件发送到外部电子邮件地址,除了按照当前接受的答案中的建议安装邮件处理系统之外,还需要修改该/etc/aliases文件。该文件由邮件系统读取,以确定所有内部邮件(例如由 cron 作业或其他系统错误生成的邮件)的最终收件人。建议的/etc/aliases文件如下:
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: user
user: username@gmail.com
Run Code Online (Sandbox Code Playgroud)
其中user和username应替换为适合您系统的条目。该文件将发送到所有标准伪用户的所有电子邮件重定向到 root 用户,然后最后两行将发送到 root 的电子邮件重定向到本地真实用户,最后从外部发送到 gmail。
文件更新后/etc/aliases,需要运行命令
sudo newaliases
Run Code Online (Sandbox Code Playgroud)
以便让系统注意到这些变化。
| 归档时间: |
|
| 查看次数: |
11191 次 |
| 最近记录: |