Jak zmienić port Postfiksa z 25 na 587?

15

Jestem totalnie noob na temat Uniksa i CLI. po googlowaniu przez prawie 6 godzin dowiedziałem się, że powinienem edytować port Postfix od 25 do 587, aby działała funkcja PHP mail (). i oto rozwiązanie mam http://www.linuxmail.info/postfix-change-port/, ale nie jestem pewien, jak to zmienić. jak już powiedziałem, jestem noobem. każda pomoc w tym zakresie zostanie doceniona.

AKTUALIZACJA 1:

rozwiązanie grawitacyjne daje mi następujący błąd.

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

AKTUALIZACJA 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
źródło
Nawiasem mówiąc, upewnij się, że masz tylko jedną kopię „ master” uruchomioną…
user1686

Odpowiedzi:

9

Zgodnie z komentarzami do innych odpowiedzi musisz skonfigurować Postfix, aby używał Gmaila jako hosta przekazywania. W tym celu istnieje wiele samouczków ; Oto szybka wersja.

Uwaga: w tej konfiguracji cała poczta musi być wysyłana przy użyciu adresu Gmaila jako „Od”.

  1. Cofnij wszystkie zmiany w master.cf.

  2. W main.cfdodaj następujące ustawienia:

    # 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. W /etc/postfix/sasl_passwddodaj swoją nazwę użytkownika Gmaila i hasło, w ten sposób:

    [smtp.gmail.com]:587    [email protected]:mypassword
    
  4. Skompiluj sasl_passwdplik do bazy danych:

    postmap /etc/postfix/sasl_passwd
    
  5. Wreszcie przeładuj główną konfigurację Postfix:

    postfix reload
    
użytkownik1686
źródło
próbuję, skontaktuję się z tobą z wynikiem. Dziękuję bardzo.
Ibrahim Azhar Armar
postępowałem dokładnie tak, jak wspomniano. umieściłem wszystkie kody w pliku main.cf na górze pliku i utworzyłem plik sasl_passwd nadal daje mi powyższy błąd
Ibrahim Azhar Armar
Wygląda na to, że w systemie nie skonfigurowano poprawnie protokołu SSL (szyfrowania). Aby ci w tym pomóc, ludzie musieliby znać Twój system operacyjny (np. Ubuntu, Fedora, Debian?) I co jeśli zainstalowałeś jakieś pakiety SSL. Za to, co jest warte, mam PostFix skonfigurowany w moim własnym systemie, aby korzystać z hosta przekaźnikowego mojego dostawcy usług internetowych i działa świetnie.
CarlF
@Ibrahim: Mogą występować dwa problemy. 1) Ustawienie pliku smtp_tls_CAf najprawdopodobniej jest nieprawidłowe: napisałem go w systemie Linux, zapominając, że korzystasz z systemu OS X. Spróbuj go skomentować (przedrostek linii a #), a następnie obniż poziom bezpieczeństwa od verifydo encrypt. Załaduj ponownie Postfix. 2) Jeśli to nie rozwiąże problemu, może to oznaczać, że Postfix został zbudowany bez obsługi TLS. Jest mało prawdopodobne, ale możliwe ...
user1686
s / zapominanie / niewiedza /. Byłem tam zdezorientowany.
user1686
14

Jeśli tylko chcesz to działa na porcie 587 (i nie jestem pewien, że nie, że myślę, że chcesz to działa zarówno na 25 i 587), a następnie znajdź linię w tym /etc/postfix/master.cf wygląda tak:

smtp      inet  n       -       n       -       -       smtpd

I zmień to, aby wyglądało tak:

587      inet  n       -       n       -       -       smtpd

Jeśli chcesz, aby działał na obu portach, dodaj drugą linię po pierwszym, zamiast go zastępować.

Wes Hardaker
źródło
edytowałem pliki master.cf przy użyciu sudo. wartość została zaktualizowana, zrestartowałem też komputer, ale nadal przyjmuje port 25 jako wartość domyślną. co może być nie tak? :(
Ibrahim Azhar Armar
ok, po pewnym czasie wartości są ustawiane na domyślne, nie wiem dlaczego, nawet gdy dodam wartości i zapiszę je za pomocą: wq in vim, to po prostu wraca do wartości domyślnej raz po raz.
Ibrahim Azhar Armar
@Ibrahim: Myślę, że zapomniałeś coś wspomnieć. Czy chcesz, aby wszystkie wiadomości e-mail przechodziły przez jeden serwer smtp.something.com:587?
user1686
1
@Wes: FYI, master.cfzawiera już wpis dla tego portu; jest oznaczony submission.
user1686
1
@Ibrahim: W takim przypadku musisz skonfigurować Postfix, aby używał Gmaila jako hosta przekazywania. Prześlę instrukcje w osobnej odpowiedzi - na razie przywróć wszystkie zmiany do master.cf.
user1686