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


15

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

UPDATE1:

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

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

更新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

顺便说一句,请确保只有一份master“正在运行...”
user1686

Answers:


9

根据您对其他答案的评论,您需要配置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
    
  3. 在中/etc/postfix/sasl_passwd,添加您的Gmail用户名和密码,如下所示:

    [smtp.gmail.com]:587    user@gmail.com:mypassword
    
  4. sasl_passwd文件编译到数据库中:

    postmap /etc/postfix/sasl_passwd
    
  5. 最后重新加载Postfix的主要配置:

    postfix reload
    

我正在尝试,会尽快与您联系。非常感谢。
Ibrahim Azhar Armar,

我按照你提到的完全一样。放置在文件的顶部上main.cf文件的所有代码和创建的文件sasl_passwd还是它给我上面的错误
易卜拉欣爱资哈尔阿马尔

好像您没有在系统上正确设置SSL(加密)。为了帮助您,人们需要了解您的操作系统(例如Ubuntu,Fedora,Debian?),以及是否已安装任何SSL软件包。对于它的价值,我已经在自己的系统上设置了PostFix以使用ISP的中继主机,并且效果很好。
卡尔·法

@易卜拉欣:那里可能有两个问题。1)smtp_tls_CAfile设置可能不正确:我是基于Linux系统编写的,忘记了您使用的是OSX。请尝试将其注释掉(在行的前面加上#),然后将安全级别从降低verifyencrypt。重新加载Postfix。2)如果这不能解决问题,则可能意味着Postfix的构建没有TLS支持。可能性不大,但有可能...
user1686

s /忘记/不知道/。在那里感到困惑。
user1686

14

如果您希望它在端口587上运行(我不确定您是否愿意;我想您希望它同时在25 587 上运行),那么请在/etc/postfix/master.cf中找到该行看起来像这样:

smtp      inet  n       -       n       -       -       smtpd

并将其更改为如下所示:

587      inet  n       -       n       -       -       smtpd

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


我使用sudo编辑了master.cf文件。值已更新,我也重新启动了计算机,但仍将端口25作为默认值。有什么可能是错的吗?:(
Ibrahim Azhar Armar,

好吧,值在一段时间后被设置为默认值,我也不知道为什么即使我添加值并在Vim中使用:wq保存它,也只是一次又一次地返回默认值。
Ibrahim Azhar Armar,

@易卜拉欣:我想你忘了提些什么。您是否要使所有电子邮件都通过单个服务器smtp.something.com:587
user1686

1
@Wes:仅供参考,master.cf已经包含此端口的条目;标有submission
user1686

1
@Ibrahim:在这种情况下,您将必须配置Postfix以将Gmail用作中继主机。我将在单独的答案中发布说明-现在,将所有更改还原为master.cf
user1686
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.