Wie ändere ich den Postfix-Port von 25 auf 587?

15

Ich bin total noob über Unix und CLI. Nachdem ich fast 6 Stunden gegoogelt hatte, wurde mir klar, dass ich den Postfix-Port von 25 auf 587 ändern sollte, damit die PHP-Mail () -Funktion funktioniert. und hier ist die Lösung, die ich habe http://www.linuxmail.info/postfix-change-port/ aber ich bin nicht sicher, wie ich es ändern soll. wie schon gesagt bin ich ein noob. Jede Hilfe in Bezug auf diese wird geschätzt.

UPDATE1:

Grawity-Lösung gibt mir den folgenden Fehler.

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=<[email protected]>
May  7 00:42:39 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4168]: DE2073F07C1: from=<[email protected]>, size=525, nrcpt=1 (queue active)
May  7 00:42:40 Ibrahim-Armars-MacBook-Pro postfix/smtp[4179]: DE2073F07C1: to=<[email protected]>, 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=<[email protected]>
May  7 00:42:41 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4168]: 5F2FC3F07C4: from=<[email protected]>, size=525, nrcpt=1 (queue active)
May  7 00:42:42 Ibrahim-Armars-MacBook-Pro postfix/smtp[4179]: 5F2FC3F07C4: to=<[email protected]>, 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

UPDATE 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=<[email protected]>
May  7 01:10:02 Ibrahim-Armars-MacBook-Pro postfix/qmgr[4420]: 357F73F090F: from=<[email protected]>, 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
Ibrahim Azhar Armar
quelle
Übrigens, stellen Sie sicher, dass Sie nur " master" eine Kopie von " " running ...
user1686

Antworten:

9

Entsprechend Ihren Kommentaren zu anderen Antworten müssen Sie Postfix so konfigurieren, dass Google Mail als Relay-Host verwendet wird. Es gibt viele Tutorials im Internet dafür; Hier ist eine kurze Version.

Hinweis: Bei dieser Konfiguration müssen alle E-Mails mit Ihrer Google Mail-Adresse als "Von" gesendet werden.

  1. Machen Sie alle Änderungen an rückgängig master.cf.

  2. In main.cfFügen Sie diese Einstellungen:

    # 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. In /etc/postfix/sasl_passwd, fügen Sie Ihren Google Mail - Benutzernamen und Passwort, wie folgt aus :

    [smtp.gmail.com]:587    [email protected]:mypassword
    
  4. Kompilieren Sie die sasl_passwdDatei in eine Datenbank:

    postmap /etc/postfix/sasl_passwd
    
  5. Zuletzt die Hauptkonfiguration von Postfix neu laden:

    postfix reload
    
user1686
quelle
Ich versuche es, werde mit dem Ergebnis auf Sie zurückkommen. ich danke dir sehr.
Ibrahim Azhar Armar
Ich habe genau dasselbe befolgt, wie von dir erwähnt. Platzieren Sie alle Codes in der Datei main.cf oben auf der Datei und erstellen Sie eine Datei sasl_passwd. Trotzdem erhalte ich den obigen Fehler
Ibrahim Azhar Armar
Es sieht so aus, als hätten Sie SSL (Verschlüsselung) auf Ihrem System nicht richtig eingerichtet. Um Ihnen dabei zu helfen, müssen die Leute Ihr Betriebssystem kennen (zB Ubuntu, Fedora, Debian?) Und was ist, wenn Sie SSL-Pakete installiert haben. Für das, was es wert ist, habe ich PostFix auf meinem eigenen System eingerichtet, um den Relais-Host meines ISP zu verwenden, und es funktioniert großartig.
CarlF
@ Ibrahim: Es könnte zwei Probleme geben. 1) Die Einstellung smtp_tls_CAfile ist wahrscheinlich falsch: Ich habe sie auf Basis eines Linux-Systems geschrieben und dabei vergessen, dass Sie unter OS X arbeiten. Versuchen Sie, sie auskommentieren (die Zeile mit einem voranstellen #) und dann die Sicherheitsstufe von auf verifyzu verringern encrypt. Postfix neu laden. 2) Wenn das Problem dadurch nicht behoben wird, wurde Postfix möglicherweise ohne TLS-Unterstützung erstellt. Es ist unwahrscheinlich, aber möglich ...
user1686
vergessen / nicht wissen /. Wurde dort verwirrt.
user1686
14

Wenn Sie nur wollen, dass es auf Port 587 läuft (und ich bin mir nicht sicher, ob Sie das tun; ich denke, Sie möchten, dass es sowohl auf 25 als auch auf 587 läuft ), dann finden Sie die entsprechende Zeile in /etc/postfix/master.cf sieht aus wie das:

smtp      inet  n       -       n       -       -       smtpd

Und ändern Sie es so:

587      inet  n       -       n       -       -       smtpd

Wenn Sie möchten, dass es auf beiden Ports ausgeführt wird, fügen Sie die zweite Zeile nach der ersten hinzu, anstatt sie zu ersetzen.

Wes Hardaker
quelle
Ich habe die master.cf-Dateien mit sudo bearbeitet. Der Wert wurde aktualisiert. Ich habe den Computer ebenfalls neu gestartet, er verwendet jedoch weiterhin Port 25 als Standardwert. Was könnte möglicherweise falsch sein? :(
Ibrahim Azhar Armar
Okay, die Werte werden nach einiger Zeit auf Standard gesetzt. Ich weiß nicht, warum, auch wenn ich die Werte hinzufüge und mit: wq in vim speichere. Es wird immer wieder auf den Standardwert zurückgesetzt.
Ibrahim Azhar Armar
@ Ibrahim: Ich glaube, du hast vergessen, etwas zu erwähnen. Versuchen Sie, alle E-Mails über einen einzigen Server zu senden smtp.something.com:587?
user1686
1
@Wes: FYI, master.cfenthält bereits einen Eintrag für diesen Port; es ist beschriftet submission.
user1686
1
@Ibrahim: In diesem Fall müssen Sie Postfix so konfigurieren, dass Google Mail als Relay-Host verwendet wird. Ich werde die Anweisungen in einer separaten Antwort veröffentlichen. Machen Sie vorerst alle Änderungen rückgängig master.cf.
user1686