Postfix smtp 인증 실패

Postfix smtp 인증 실패

현재 기존 서버와 동일한 작업을 수행하기 위해 새 서버를 업데이트하고 있습니다(새 서버가 실행 중입니다).숨이 차는 데비안, 기존 서버가 실행 중입니다.데비안 스퀴즈).

내가 겪고 있는 문제는 다음 코드를 사용하여 배를 통해 이메일을 보내는 것입니다.

$smtp = Mail::factory('smtp', array ('host'     => 'localhost',
                                     'port'     => '25',
                                     'auth'     => true,
                                     'username' => 'linuxUser',
                                     'password' => 'linuxPassword'));

$mail = $smtp->send($to, $headers, $text);

터미널에서 이메일을 보낼 수 있어요

$mail [email protected] 

그러나 Pear를 통해 이메일을 보내기 위해 PHP 스크립트를 실행하려고 하면 mail.log에 오류가 발생합니다.

메일 로그 오류

postfix/smtpd[7835]: warning: SASL authentication failure: unable to canonify user 
and get auxprops
postfix/smtpd[7835]: warning: localhost[::1] SASL DIGEST-MD5 authentication failed: 
authentication failure

내가 변경한 일부 구성 파일에 대해 간략하게 설명하겠습니다.

/etc/postfix/main.cf

# SMTP Authentication
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtp_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
check_relay_domains, reject_unauth_destination

...     

smtpd_banner = mail.$mydomain ESMTP $mail_name  
mydomain = domain.com                           
myorigin = $mydomain                    
myhostname = mail.domain.com    
inet_interfaces = all

/etc/default/saslauthd

START=yes
MECHANISMS="shadow"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd" 

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd

처음에는 SASL 사용자 이름과 비밀번호가 올바르게 설정되지 않았다고 생각했습니다. 대부분의 온라인 튜토리얼에서는 사용자 이름과 비밀번호가 별도의 데이터베이스 파일에 저장되어 있음을 보여줍니다. 하지만 제 경우에는 사용자 이름과 비밀번호가 Linux 사용자 이름/비밀번호에 할당되었습니다.

왜 이것이 작동하지 않는지 모르겠습니다. postfix/SMTP 버그입니까 아니면 pear/php 버그입니까?

답변1

다음 구성 파일을 변경했습니다.

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN

이제 인증이 잘 됩니다.

관련 정보