如何将 postfix 端口从 25 更改为 587?

Ibr*_*mar 16 email smtp postfix

我对 Unix 和 CLI 一窍不通。在谷歌搜索近 6 个小时后,我开始知道我应该将 postfix 端口从 25 编辑到 587,以使 PHP mail() 函数正常工作。这是我得到的解决方案http://www.linuxmail.info/postfix-change-port/但我不确定如何更改它。如前所述,我是一个菜鸟。对此的任何帮助将不胜感激。

更新1:

重力解决方案给了我以下错误。

May  7 00:42:39 Ibrahim-Armars-MacBook-Pro postfix/pickup[4169]: DE2073F07C1: uid=501 from=<azhararmar>
May  7 00:42:39 Ibrahim-Armars-MacBook-Pro postfix/master[4185]: fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
May  7 00:42:39 Ibrahim-Armars-MacBook-Pro postfix/cleanup[4177]: DE2073F07C1: message-id=<20110506191239.DE2073F07C1@Ibrahim-Armars-MacBook-Pro.local>
May  7 00:42:39 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4168]: DE2073F07C1: from=<azhararmar@Ibrahim-Armars-MacBook-Pro.local>, size=525, nrcpt=1 (queue active)
May  7 00:42:40 Ibrahim-Armars-MacBook-Pro postfix/smtp[4179]: DE2073F07C1: to=<azhar@iarmar.com>, relay=smtp.gmail.com[74.125.155.109]:587, delay=0.8, delays=0.01/0/0.79/0, dsn=4.7.5, status=deferred (TLS is required, but our TLS engine is unavailable)
May  7 00:42:41 Ibrahim-Armars-MacBook-Pro postfix/pickup[4169]: 5F2FC3F07C4: uid=501 from=<azhararmar>
May  7 00:42:41 Ibrahim-Armars-MacBook-Pro postfix/cleanup[4177]: 5F2FC3F07C4: message-id=<20110506191241.5F2FC3F07C4@Ibrahim-Armars-MacBook-Pro.local>
May  7 00:42:41 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4168]: 5F2FC3F07C4: from=<azhararmar@Ibrahim-Armars-MacBook-Pro.local>, size=525, nrcpt=1 (queue active)
May  7 00:42:42 Ibrahim-Armars-MacBook-Pro postfix/smtp[4179]: 5F2FC3F07C4: to=<azhar@iarmar.com>, relay=smtp.gmail.com[74.125.155.109]:587, delay=0.79, delays=0.01/0/0.78/0, dsn=4.7.5, status=deferred (TLS is required, but our TLS engine is unavailable)
May  7 00:42:50 Ibrahim-Armars-MacBook-Pro postfix/master[4190]: fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

更新 2:

May  7 01:10:02 Ibrahim-Armars-MacBook-Pro postfix/master[4472]: fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
May  7 01:10:02 Ibrahim-Armars-MacBook-Pro postfix/pickup[4419]: 357F73F090F: uid=501 from=<azhararmar>
May  7 01:10:02 Ibrahim-Armars-MacBook-Pro postfix/cleanup[4430]: 357F73F090F: message-id=<20110506194002.357F73F090F@Ibrahim-Armars-MacBook-Pro.local>
May  7 01:10:02 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4420]: 357F73F090F: from=<azhararmar@Ibrahim-Armars-MacBook-Pro.local>, size=525, nrcpt=1 (queue active)
May  7 01:10:03 Ibrahim-Armars-MacBook-Pro postfix/smtp[4448]: certificate verification failed for smtp.gmail.com[74.125.155.109]:587: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
Run Code Online (Sandbox Code Playgroud)

小智 13

如果您希望它在端口 587 上运行(我不确定您是否这样做;我认为您希望它同时在 25587上运行),然后在 /etc/postfix/master.cf 中找到该行看起来像这样:

smtp      inet  n       -       n       -       -       smtpd
Run Code Online (Sandbox Code Playgroud)

并将其更改为如下所示:

587      inet  n       -       n       -       -       smtpd
Run Code Online (Sandbox Code Playgroud)

如果您希望它在两个端口上运行,则在第一行之后添加第二行而不是替换它。


use*_*686 11

根据您对其他答案的评论,您需要将 Postfix 配置为使用 Gmail 作为中继主机。网上有很多这方面的教程;这是一个快速版本。

注意:使用此配置,所有邮件都必须使用您的 Gmail 地址作为“发件人”发送。

  1. 撤消对 的所有更改master.cf

  2. 在 中main.cf,添加以下设置:

    # This tells Postfix to hand off all messages to Gmail, and never do direct delivery.
    relayhost = [smtp.gmail.com]:587
    
    # This enables TLS (SMTPS) certificate verification, because Gmail has a valid one.
    smtp_tls_security_level = verify
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache
    
    # This tells Postfix to provide the username/password when Gmail asks for one.
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 中/etc/postfix/sasl_passwd,添加您的 Gmail 用户名和密码,如下所示:

    [smtp.gmail.com]:587    user@gmail.com:mypassword
    
    Run Code Online (Sandbox Code Playgroud)
  4. sasl_passwd文件编译到数据库中:

    postmap /etc/postfix/sasl_passwd
    
    Run Code Online (Sandbox Code Playgroud)
  5. 最后重新加载 Postfix 的主要配置:

    postfix reload
    
    Run Code Online (Sandbox Code Playgroud)