как изменить порт с постфиксом с 25 на 587?

15

Я абсолютно нуб о Unix и CLI. после почти 6 часов поиска в Google я узнал, что мне нужно редактировать порт 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

ОБНОВЛЕНИЕ 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" ...
grawity

Ответы:

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
    
grawity
источник
Я пытаюсь, вернусь к вам с результатом. большое спасибо.
Ибрагим Азар Армар
я следовал точно так же, как упомянуто вами. поместил все коды в файл main.cf поверх файла и создал файл sasl_passwd, но он выдает мне вышеуказанную ошибку
Ибрагим Азар Армар
Выглядит так, как будто вы неправильно настроили SSL (шифрование) в вашей системе. Чтобы помочь вам с этим, люди должны знать вашу операционную систему (например, Ubuntu, Fedora, Debian?) И что делать, если вы установили какие-либо пакеты SSL. Что бы это ни стоило, я установил PostFix в своей системе, чтобы использовать ретранслятор хоста моего провайдера, и он прекрасно работает.
CarlF
@ Ибрагим: Там может быть две проблемы. 1) Параметр smtp_tls_CAfile, скорее всего, будет неправильным: я написал его на основе системы Linux, забыв, что вы работаете в OS X. Попробуйте закомментировать его (префикс строки с a #), затем понизьте уровень безопасности с verifyдо encrypt. Перезагрузить постфикс. 2) Если это не решит проблему, то это может означать, что Postfix был собран без поддержки TLS. Это маловероятно, но возможно ...
grawity
с / забыв / не зная /. Там запутался.
grawity
14

Если вы только хотите, работающий на порту 587 (и я не уверен , что вы делаете, я думаю , что вы хотите , это работает как на 25 и 587), а затем найдите строку в /etc/postfix/master.cf , что выглядит так:

smtp      inet  n       -       n       -       -       smtpd

И измени его так, чтобы он выглядел так:

587      inet  n       -       n       -       -       smtpd

Если вы хотите, чтобы он работал на обоих портах, добавьте вторую строку после первой, а не заменяйте ее.

Уэс Хардакер
источник
я отредактировал файлы master.cf, используя sudo. значение было обновлено, я тоже перезапустил компьютер, но все равно он принимает порт 25 в качестве значения по умолчанию. что может быть не так? :(
Ибрагим Азар Армар
Хорошо, через некоторое время значения устанавливаются на значения по умолчанию, я не знаю, почему, даже когда я добавляю значения и сохраняю их, используя: wq в vim, он просто возвращается к значению по умолчанию снова и снова.
Ибрагим Азар Армар
@ Ибрагим: я думаю, что вы забыли упомянуть что-то. Вы пытаетесь заставить всю электронную почту проходить через один сервер smtp.something.com:587?
Гравитация
1
@Wes: FYI, master.cfуже содержит запись для этого порта; это помечено submission.
Гравитация
1
@Ibrahim: В этом случае вам придется настроить Postfix для использования Gmail в качестве узла ретрансляции. Инструкции я опубликую в отдельном ответе - пока отмените все изменения на master.cf.
Гравитация