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.