
나는 dovecot으로 postfix를 실행하고 있습니다. PHP Pear Mail 패키지를 사용하여 이메일을 보내려고 하는데 작동하지 않습니다. 내가 얻는 오류는 다음과 같습니다 authentication failure [SMTP: STARTTLS failed (code: 220, response: 2.0.0 Ready to start TLS)]
.
저는 PHP 7.4 cli를 사용하여 실행하고 있습니다. 다음은 파일입니다(mail-test.php):
<?php
require_once "Mail.php";
$from = "[email protected]";
$to = '[email protected]';
$host = "mail.fildom.net";
$port = "25";
$username = 'username';
$password = 'password';
$subject = "test";
$body = "test";
$headers = array ('From' => $from, 'To' => $to,'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo($mail->getMessage());
} else {
echo("Message successfully sent!\n");
}
?>
verify_peer 및 verify_peer_name 설정과 같은 많은 수정 사항을 온라인에서 시도했지만 그 중 아무 것도 작동하지 않았습니다. 포트를 567로 설정해 보았지만 동일한 오류가 발생합니다.
이것은 내 postfix 구성 파일(main.cf)입니다:
# GENERAL SETTINGS
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
# SMTP SETTINGS
smtp_use_tls=yes
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# SMTPD SETTINGS
smtpd_use_tls=yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_cert_file=/etc/ssl/cert.pem
smtpd_tls_key_file=/etc/ssl/key.pem
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
# SASL SETTINGS
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# VIRTUAL MAIL BOX AND LMTP SETTINGS
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = /etc/postfix/virtual_mailbox_domains
# OTHER SETTINGS
myhostname = mail.fildom.net
myorigin = /etc/mailname
mydestination = localhost.$mydomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
CloudFlare에서 SSL 인증서를 받았습니다. 또한 CloudFlare에서 인증된 원본 가져오기를 설정하고 활성화했지만 이것이 영향을 미치는지 확실하지 않습니다.
미리 감사드립니다.