You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server中Postfix无main.cf文件,如何配置SendGrid中继?

解决Ubuntu 16.04 Postfix无main.cf文件的问题并配置SendGrid中继

这种情况其实是Postfix安装后未完成初始化配置导致的,别慌,按以下步骤操作就能顺利生成配置文件并完成SendGrid中继设置:

1. 生成Postfix核心配置文件main.cf

Ubuntu系统中,Postfix通过apt-get install安装后,如果没有运行过配置向导,只会留下模板文件main.cf.proto,不会自动生成实际生效的main.cf。你可以通过以下命令启动配置向导:

sudo dpkg-reconfigure postfix

运行后会弹出交互式配置界面,按提示完成基础设置即可:

  • 邮件系统类型选择Internet Site
  • 设置你的服务器域名(比如your-domain.com)
  • 其余选项可保持默认,一路确认完成

完成后,你就能在/etc/postfix/目录下看到生成好的main.cf文件了。

2. 配置SendGrid中继参数

编辑生成的main.cf文件:

sudo nano /etc/postfix/main.cf

在文件中添加或修改以下配置项:

# 设置SendGrid作为中继服务器
relayhost = [smtp.sendgrid.net]:587

# 启用SASL认证
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

# 启用TLS加密
smtp_tls_security_level = encrypt
header_size_limit = 4096000

3. 创建SASL认证文件

创建存储SendGrid密钥的文件:

sudo nano /etc/postfix/sasl_passwd

写入以下内容(替换你的SendGrid API密钥为你实际的密钥):

[smtp.sendgrid.net]:587 apikey:你的SendGrid API密钥

生成哈希格式的认证文件并设置安全权限:

sudo postmap /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

4. 重启Postfix服务使配置生效

Ubuntu 16.04可以用以下命令重启服务:

# 若使用systemd
sudo systemctl restart postfix

# 若使用upstart(部分16.04系统)
sudo service postfix restart

补充说明

main.cf.proto是Postfix的默认配置模板,当系统检测到没有可加载的main.cf时,不会自动使用这个模板,必须通过配置向导生成实际的配置文件。这也是大部分教程没提到它的原因——正常安装流程会自动触发配置,你这种属于特殊情况(比如安装时跳过了配置步骤)。

内容的提问来源于stack exchange,提问作者Shampoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:06:30