You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Plesk与Postfix环境下绕过25号出站端口发送邮件的配置咨询

Plesk与Postfix环境下绕过25号出站端口发送邮件的配置咨询

老哥,我来帮你一步步解决这个问题——既然你已经搞定了入站邮件的端口配置,还知道要调整/etc/postfix/main.cf,那咱们直接切入正题:出站25端口被封完全可以用其他端口绕过去,这里给你两种实用方案,按需选择就行:

方案一:直接修改Postfix使用替代端口发送

这种方法适合你想让Postfix直接用非25端口发信的场景,常见的替代端口是587(STARTTLS加密)或465(SSL加密):

  1. 登录服务器,编辑Postfix主配置文件:
    nano /etc/postfix/main.cf
    
  2. 找到smtp_port参数,要是没有就新增一行:
    smtp_port = 587
    
    如果选择用465端口,还要额外添加以下两行开启SSL加密:
    smtp_tls_wrappermode = yes
    smtp_tls_security_level = encrypt
    
  3. 保存文件后,重启Postfix服务生效:
    systemctl restart postfix
    
  4. 如果你习惯用Plesk面板操作,也可以通过「工具与设置」→「邮件服务器设置」→「邮件发送」路径,找到端口设置项,改成你想用的端口,Plesk会自动同步到Postfix配置里。

方案二:配置SMTP中继(更推荐)

直接改端口的话,部分收件方邮件服务器可能不支持非25端口的入站,导致邮件投递失败。用SMTP中继(比如域名邮箱提供商、专业邮件服务平台,甚至部分VPS厂商自带的中继服务)会更稳定:

  1. 同样编辑/etc/postfix/main.cf,添加或修改以下配置项(替换成你的中继服务商信息):
    relayhost = [smtp.your-relay-provider.com]:587
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = encrypt
    
  2. 创建认证密码文件/etc/postfix/sasl_passwd,写入中继服务商的账号密码:
    [smtp.your-relay-provider.com]:587 你的中继账号:你的中继密码
    
  3. 生成Postfix可识别的哈希映射文件:
    postmap /etc/postfix/sasl_passwd
    
  4. 设置文件权限(避免密码泄露):
    chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
    
  5. 重启Postfix服务:
    systemctl restart postfix
    
  6. 用Plesk面板操作的话,直接走「工具与设置」→「邮件服务器设置」→「邮件发送」→「使用外部SMTP服务器」,填写中继服务商的信息即可,不用手动改配置文件更省心。

注意事项

  • 先确认你的VPS服务商允许出站587/465端口(大部分服务商都会放行这两个端口,25端口通常是为了反垃圾邮件被封禁)
  • 如果用中继服务,一定要确认服务商支持的端口和认证方式,有些可能用2525作为替代端口
  • 配置完成后可以用这条命令测试发送是否成功:
    echo "测试邮件内容" | mail -s "测试主题" your-test-email@example.com
    

备注:内容来源于stack exchange,提问作者Borgann

火山引擎 最新活动