postfix 포트를 25에서 587로 어떻게 변경합니까?


15

유닉스와 CLI에 대한 멍청한 놈입니다. 거의 6 시간 동안 인터넷 검색을 한 후 PHP mail () 함수가 작동하도록 25 ~ 587의 postfix 포트를 편집해야한다는 것을 알게되었습니다. 그리고 여기에 내가 http://www.linuxmail.info/postfix-change-port/를 얻은 해결책이 있지만 그것을 어떻게 바꾸는 지 잘 모르겠습니다. 이미 말했듯이 나는 멍청하다. 이에 대한 도움을 주시면 감사하겠습니다.

UPDATE1 :

grawity solution은 다음과 같은 오류를 발생시킵니다.

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

답변:


9

다른 답변에 대한 의견에 따르면 Gmail을 릴레이 호스트로 사용하도록 Postfix를 구성해야합니다. 인터넷에 대한 많은 자습서 가 있습니다 . 여기 빠른 버전이 있습니다.

참고 :이 구성을 사용하면 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
    

나는 그것을 시도하고 결과로 당신에게 돌아올 것입니다. 정말 고맙습니다.
— 이브라힘 아자르 아르 마르

나는 당신이 언급 한 것과 똑같은 것을 따랐습니다. 모든 코드를 파일 위에 main.cf 파일에 놓고 sasl_passwd 파일을 만들었습니다. 여전히 위의 오류가 발생합니다
— Ibrahim Azhar Armar

시스템에서 SSL (암호화)을 올바르게 설정하지 않은 것처럼 보입니다. 이를 돕기 위해 사람들은 운영 체제 (예 : Ubuntu, Fedora, Debian?)와 SSL 패키지가 설치되어있는 경우 어떻게해야하는지 알아야합니다. 가치있는 것을 위해, 나는 ISP의 릴레이 호스트를 사용하기 위해 PostFix를 자체 시스템에 설정했으며 훌륭하게 작동합니다.
— CarlF

@Ibrahim : 두 가지 문제가있을 수 있습니다. 1) smtp_tls_CAfile 설정이 올바르지 않을 수 있습니다. Linux 시스템을 기반으로 작성했으며 OS X를 사용하고 있음을 잊었습니다. 주석을 달고 (줄 앞에 접두어 #) 보안 수준을에서 verify로 낮추십시오 encrypt. 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

좋아, 값은 언젠가 후에 기본값으로 설정되고 있습니다. 왜 내가 값을 추가하고 : wq를 사용하여 저장해도 vim에서 기본값으로 다시 돌아 오는지 모르겠습니다.
— 이브라힘 아자르 아르 마르

@Ibrahim : 나는 당신이 무언가를 언급하는 것을 잊었다 고 생각합니다. 당신은 만들려고 모두 하나의 서버를 통해 이메일 이동을 smtp.something.com:587?
— user1686

1
@Wes : 참고로 master.cf이미이 포트에 대한 항목이 포함되어 있습니다. 라벨이 붙어 submission있습니다.
— user1686

1
@Ibrahim :이 경우 Gmail을 릴레이 호스트로 사용하려면 Postfix를 구성해야합니다. 별도의 답변으로 지침을 게시하겠습니다. 지금은 모든 변경 사항을로 되돌 master.cf립니다.
— user1686
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.