PHP PEAR メール STARTTLS が postfix でエラー 220 で失敗しました

PHP PEAR メール STARTTLS が postfix でエラー 220 で失敗しました

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 で認証済みオリジン プルを設定して有効にしましたが、これが効果があるかどうかはわかりません。

前もって感謝します。

関連情報