簡単なガイド: PHPMailer を使用してテストメールを送信する
P粉344355715
P粉344355715 2023-08-26 21:06:15
0
1
562

Debian/Bullseye でローカル Apache2 サーバーを実行しています。 PHPMailer を動作させようとしましたが、失敗しました。 PHPMailer をインストールするには 2 つの異なる方法があるようです。1 つ目は、composer を使用する方法で、これが私が最初に試した方法です。サイトのルートにベンダー フォルダーが作成され、このフォルダーには autoload.php ファイルと他のいくつかのファイルが含まれます。ファイルには次の内容が含まれています:

 

これは不完全に見えます (終了タグがありません)。とにかく、「test.php」サンプルを動作させることができません。

もう 1 つの方法は、gethub Web サイトから .zip ファイルをダウンロードし、サイトのルート ディレクトリに抽出することです。名前を変更すると、PHPMailer フォルダーができました。 「mailer.php」の例を使用しても効果はありません。

どちらの場合も、ドメインの実際のアカウント情報 (電子メールの送信、ログイン パスワード、SMTP サーバー名、ホストの SMTP セキュリティ、ポート設定) を使用するように SMTP 情報を変更しましたが、拒否に対しても応答しませんでした。メールを受信しました。何も起こらなかった。表示されるのは空白の Web ページだけです。

以前に使用した php スクリプトがまだ動作するため、php を実行しています (テスト サイトから - 実際のサイトでは smtp の使用を要求しており、PEAR モジュールをインストールできません)。

これが私が使用している mailer.php スクリプトです - 一部の詳細は隠されています:

SMTPDebug = SMTP::DEBUG_SERVER; //詳細なデバッグ出力を有効にする $mail->isSMTP(); //SMTPを使用して送信 $mail->Host = 'mail..ca'; //通過するSMTPサーバーを設定 $mail->SMTPAuth = true; //SMTP認証を有効にする $mail->Username = 'mail@.ca'; //SMTP ユーザー名 $mail->Password = '
      
       '; //SMTP パスワード $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //暗黙的な TLS 暗号化を有効にする $mail->Port = 465; //接続先の TCP ポート; 'SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS' が設定されている場合は、587 を使用してください //受信者 $mail->setFrom('mail@
       <ドメイン>
        .ca', '私から'); $mail->addAddress('gary@.ca', 'to me'); //受信者を追加 // $mail->addAddress('Recipient@emailaddress.com'); // 名前はオプションです // $mail->addReplyTo('yourname@domain.com', 'Your Name'); // $mail->addCC('cc@example.com'); // $mail->addBCC('bcc@example.com'); //添付ファイル (オプション) // $mail->addAttachment('/var/tmp/file.tar.gz'); // 添付ファイルを追加 // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // オプションの名前 //コンテンツ $mail->isHTML(true); //メール形式をHTMLに設定します $mail->Subject = 'これが件名です'; $mail->Body = 'これは太字の HTML メッセージ本文です!'; $mail->AltBody = 'これは非 HTML メール クライアントのプレーン テキストの本文です'; $mail->send(); echo 'メッセージが送信されました'; } catch (例外 $e) { echo "メッセージを送信できませんでした。メーラー エラー: {$mail->ErrorInfo}"; } ?>

TLS 回線はホスティング会社からのものなので、正しいと思います。

テストで必要のないオプションをコメントアウトしましたが、それでも機能しません。誰か私が間違っていることを理解できますか?

ありがとうございます。

P粉344355715
P粉344355715

全員に返信 (1)
P粉709644700

###なるほど、分かりました。ホスティング会社はテスト コードを提供しており、その例では smtp.domain.com が使用されています。実際、彼らの smtp サーバーは smtp ではなくメールです。存在しないサーバーに直面するとコードの実行が停止するだけだと思います...

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!