Ubuntu 用Gmail配置Postfix

Ubuntu 用Gmail配置Postfix

简介

Postfix是用于发送和接收电子邮件的邮件传输代理。它很容易在Ubuntu服务器上安装和配置。

在本教程中,我们将告诉你如何在Ubuntu上配置Postfix和Gmail。

前提条件

在你继续之前,你将需要以下条件

  • 一台运行中的Ubuntu服务器

  • 一个Gmail账户

  • 一个有效的域名,并配置为指向服务器的IP地址

第1步:安装Postfix

第1步,在你的Ubuntu系统上安装Postfix。你可以通过运行以下命令来完成

sudo apt-get install postfix

在安装过程中,你会被提示选择邮件服务器的配置和选项。你应该选择 “Internet Site”,并在询问时填写你的服务器域名。

第2步:配置Postfix

一旦Postfix安装完毕,你需要将其配置为使用Gmail作为所有邮件的中继。使用以下命令打开Postfix的主配置文件

sudo nano /etc/postfix/main.cf

在文件的末尾添加以下几行 –

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

保存并退出该文件。

第3步:创建一个Gmail应用密码

要使用Gmail作为中继服务器,你需要在Gmail配置中创建一个应用密码。这个密码是用来验证Gmail的服务器,以便中转邮件。要创建一个应用密码,你可以按照以下步骤进行

  • 登录到你的Gmail账户。

  • 进入你的谷歌账户设置页面。

  • 点击 “安全”。

  • 在 “登录到谷歌 “下,点击 “应用密码”。

  • 选择 “邮件 “作为应用程序,”其他(自定义名称)”作为设备。

  • 为密码输入一个名称,然后点击 “生成”。

  • 记下生成的密码。

第4步:在Postfix中添加Gmail凭证

现在你已经创建了一个应用程序密码,你需要把它添加到Postfix中。通过运行以下命令,在/etc/postfix目录下创建一个名为 “sasl_passwd “的新文件

sudo nano /etc/postfix/sasl_passwd

在文件中添加以下一行,将your-email@gmail.com替换为你的Gmail地址,将 your-password替换为你生成的App密码–your-email@gmail.com

 [smtp.gmail.com]:587 your-email@gmail.com:your-password

保存并退出该文件。

现在,使用下面的命令对sasl_passwd文件进行哈希处理。

sudo postmap /etc/postfix/sasl_passwd

第5步:重启Postfix

现在重新启动Postfix服务,通过使用以下命令来应用这些变化

sudo systemctl restart postfix

第6步:测试配置

为了测试配置,使用 “mail “命令发送一封电子邮件,并将“recipient@email.com ” 替换为你要发送的电子邮件地址 –

echo "Test email" | mail -s "Test subject" recipient@email.com

如果一切配置正确,电子邮件应该被发送并被收件人收到。

高级配置选项

有几个额外的配置选项,你可以用它来微调Postfix和Gmail的整合。下面是一些最有用的 –

  • “smtp_tls_CAfile” – 这个选项允许你指定一个自定义的证书授权(CA)文件,用于TLS加密。如果你想使用一个不同于Ubuntu默认的CA,这可能很有用。

  • “smtp_tls_security_level” – 这个选项决定了TLS加密所需的安全级别。可能的值是 “may”、”encrypt”、”dane “和 “verify”。默认值是 “可能”,这意味着如果可能的话会使用TLS加密。

  • “smtp_tls_mandatory_protocols” – 这个选项指定了允许的最小TLS协议版本。可能的值是 “TLSv1″、”TLSv1.1 “和 “TLSv1.2″。默认值是 “TLSv1″。

  • “smtp_tls_mandatory_ciphers” – 这个选项指定了允许的最小TLS密码。默认值是 “高”。

  • “smtp_tls_exclude_ciphers” – 这个选项允许你从允许的密码列表中排除特定的TLS密码。

  • “smtp_tls_note_starttls_offer” – 这个选项在邮件头添加一个注释,表明服务器在SMTP会话中是否提供了STARTTLS命令。

你可以把这些选项添加到/etc/postfix/main.cf文件中,就像 relayhost 和 sasl_passwd 选项一样。Here is an example configuration that uses some of these options −

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
smtp_tls_mandatory_ciphers = high
smtp_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, SRP, CAMELLIA128, CAMELLIA256, SEED
smtp_tls_note_starttls_offer = yes

这个配置指定了以下选项 –

  • relayhost被设置为smtp.gmail.com:587,这是Gmail的SMTP服务器和端口号。

  • smtp_use_tls被设置为 “yes”,它为SMTP连接启用TLS加密。

  • smtp_sasl_auth_enable被设置为 “是”,它启用SASL认证。

  • smtp_sasl_password_maps被设置为/etc/postfix/sasl_passwd,其中包含Gmail的凭证。

  • smtp_sasl_security_options被设置为 “noanonymous”,它要求客户端使用SASL认证来识别自己。

  • smtp_tls_CAfile被设置为/etc/ssl/certs/ca-certificates.crt,这是Ubuntu的默认CA文件。

  • smtp_tls_security_level 被设置为 “encrypt”,这需要使用 TLS 加密。

  • smtp_tls_mandatory_protocols被设置为”!SSLv2,!SSLv3″,它不允许使用SSLv2和SSLv3。

  • smtp_tls_mandatory_ciphers被设置为 “高”,它要求使用强TLS密码。

  • smtp_tls_exclude_ciphers 被设置为不允许使用的弱 TLS 密码的列表。

  • smtp_tls_note_starttls_offer被设置为 “yes”,它在消息头中添加一个注释,表明服务器是否提供了STARTTLS命令。

总结

在本教程中,我们已经向你展示了如何在Ubuntu上配置Postfix与Gmail。这个配置允许你使用你的Gmail账户发送和接收邮件。按照这些步骤,你可以很容易地设置Postfix,将Gmail作为Ubuntu服务器上的中继。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程