PHP에서 mail() 함수를 사용하기 위해 postfix MTA를 설정하려고 합니다. Mac OSX sierra PHP 버전 7.1.0에서 MAMP 4.1 무료 버전 사용하기 저는 기본을 고수하고 싶기 때문에 MAMP PRO 및 SwiftMailer와 같은 타사 라이브러리를 사용하는 데 관심이 없습니다.
지금까지 다음을 완료하기 위해 업데이트했습니다.
내 자격 증명을 사용하여 sasl_passwd라는 파일을 만들었습니다.
[smtp.gmail.com]:587 [email protected]:mypassword
그런 다음 다음 명령을 사용하십시오.
sudo postmap /etc/postfix/sasl_passwd sudo chgrp postfix sasl_passwd* sudo chmod 0640 sasl_passwd* sudo postmap -q [smtp.gmail.com]:587 sasl_passwd
/etc/postfix/에서 main.cf를 열고 끝에 다음 줄을 추가합니다.
#Gmail SMTP relayhost=smtp.gmail.com:587 # Enable SASL authentication in the Postfix SMTP client. smtp_sasl_auth_enable=yes smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd smtp_sasl_security_options=noanonymous smtp_sasl_mechanism_filter=plain # Enable Transport Layer Security (TLS), i.e. SSL. smtp_use_tls=yes smtp_tls_security_level=encrypt tls_random_source=dev:/dev/urandom
Postfix 서비스를 다시 시작하고 새로 고칩니다.
터미널에서 메일을 보내고 터미널 자체에서 메일을 확인해보니 다음과 같은 답변을 받았습니다.
From MAILER-DAEMON Thu Feb 9 14:53:14 2017 X-Original-To: [email protected] Delivered-To: [email protected] Date: Thu, 9 Feb 2017 14:53:14 +0530 (IST) From: [email protected] (Mail Delivery System) Subject: Undelivered Mail Returned to Sender To: [email protected] Auto-Submitted: auto-replied MIME-Version: 1.0 Content-Type: multipart/report; report-type=delivery-status; boundary="CD41810841CF.1486632194/MacBook-Pro.local" This is a MIME-encapsulated message. --CD41810841CF.1486632194/MacBook-Pro.local Content-Description: Notification Content-Type: text/plain; charset=us-ascii This is the mail system at host MacBook-Pro.local. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <[email protected]>: host smtp.gmail.com[74.125.200.109] said: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/?p=WantAuthError a25sm27067419pgd.26 - gsmtp (in reply to MAIL FROM command) --CD41810841CF.1486632194/MacBook-Pro.local Content-Description: Delivery report Content-Type: message/delivery-status Reporting-MTA: dns; MacBook-Pro.local X-Postfix-Queue-ID: CD41810841CF X-Postfix-Sender: rfc822; [email protected] Arrival-Date: Thu, 9 Feb 2017 14:53:11 +0530 (IST) Final-Recipient: rfc822; [email protected] Original-Recipient: rfc822;[email protected] Action: failed Status: 5.5.1 Remote-MTA: dns; smtp.gmail.com Diagnostic-Code: smtp; 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/?p=WantAuthError a25sm27067419pgd.26 - gsmtp --CD41810841CF.1486632194/MacBook-Pro.local Content-Description: Undelivered Message Content-Type: message/rfc822 Return-Path: <[email protected]> Received: by MacBook-Pro.local (Postfix, from userid 501) id CD41810841CF; Thu, 9 Feb 2017 14:53:11 +0530 (IST) To: [email protected] Subject: testing Message-Id: <[email protected]> Date: Thu, 9 Feb 2017 14:53:11 +0530 (IST) From: [email protected] (Admin) Thu Feb 9 14:53:11 IST 2017 --CD41810841CF.1486632194/MacBook-Pro.local-- acBook-Pro.local--
이 문제를 해결하기 위해 Gmail에서 보안 수준이 낮은 앱에 대한 액세스를 허용해 보았습니다. 열어 봐. 아직도 성공하지 못했습니다.
/var/log/mail을 보려고 하는데 메일 로그를 볼 수 없습니다. 동일한 디렉토리에 mail.log 파일을 생성했는데 등록된 로그가 없습니다. 터미널을 사용하여 rsyslog를 다시 시작했습니다. 여전히 작동하지 않습니다.
내 PHP 스크립트에서 mail() 함수를 사용하고 이에 따라 PHP.ini를 변경하고 싶습니다. 가능하다면 이에 대한 지침을 제안해 주십시오.