ホームページ > バックエンド開発 > PHPチュートリアル > phplist と phpmailer (組み合わせて使用​​) を設定して Gmail 経由でメールを送信する方法、phplistphpmailer_PHP チュートリアル

phplist と phpmailer (組み合わせて使用​​) を設定して Gmail 経由でメールを送信する方法、phplistphpmailer_PHP チュートリアル

WBOY
リリース: 2016-07-12 08:55:15
オリジナル
1173 人が閲覧しました

Gmailでメールを送信するためのphplistとphpmailer(組み合わせて使用​​)の設定方法、phplistphpmailer

この記事では、Gmailでメールを送信するためのphplistとphpmailerの設定方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

一般的に、Gmail メールボックスを使用していない限り、phplist を使用してメールを送信するには、以前の「PHP 一括メール システム phplist の設定方法の詳細なまとめ」に従って設定するだけで済みます。しかし、あなたが私のように不運で、gmail のような SSL 認証を備えた電子メールを使用しなければならない場合は、おめでとうございます。数日間試した結果、ついに gmail と phplist を組み合わせることができました。私と同じ状況にある同志に役立つことを願って、ここで私の経験を共有します。また、phplist の中核は phpmailer であり、私が提案した解決策は主に phpmailer を中心に展開しているため、gmail 経由でメールを送信するために phpmailer を使用する必要があるが成功しない人も、私の方法を参考にしていただけます。

まず、「PHP一括メールシステムphplistの設定方法の詳細まとめ」の設定方法に従って、Gmailでメールを送信します。 テストメールを送信すると、phplistはメールの送信に失敗したことを報告し、エラーメッセージが表示されます。イベント ログ (eventlog) の「メーラー エラー: 次の送信元アドレスに失敗しました:...」というメッセージが表示されます。これは、送信者アドレスに問題があることを意味します。 SMTPサーバーには接続できているが、メール送信に問題がある可能性はありますか? SMTP サーバーに接続しているかどうかをテストする方法を使用できます。 config.php ファイルに意図的に間違った電子メール アカウントのパスワードを入力しましたが、テスト電子メールを送信したときにも同じエラーが報告されたようです。 SMTP サーバーにまったく接続されていませんでした。この phplist エラー レポートも...

SMTP サーバーに接続されていないことがわかっている場合は、メールを送信する phplist のコア (もう 1 つの有名なオープン ソース ソフトウェア phpmailer) に問題があることを意味します。

Gmail メールを送信する phpmailer に関する情報をオンラインで確認したところ、古いバージョンの phpmailer は SSL 検証をサポートしておらず、Gmail の SMTP サーバーに接続できないという意見があったことがわかりました。しかし、この問題は phpmailer の新しいバージョンでは解決されています。

lists/admin/phpmailer/ChangeLog.txt を開くと、phplist に付属する phpmailer の最新バージョンが 2005 年にリリースされたバージョン 1.73 であることがわかります。これは確かに新しいものではありません。そこで、phpmailer の公式 Web サイトにアクセスし、最新の 5.1 をダウンロードしました。

私はまず、phpmailer の新しいバージョンが SSL 検証の問題をどのように解決するかを調べたかったので、独自のドキュメントをいくつか見てみたところ、PHPMailer_v5.1/docs の下に use_gmail.txt を見つけました。これは公式のもののようです。比較については、Gmail の問題に注目しており、参考のために特別にデモを作成しました。開いてみると確かに完成したphpページファイルなので、基本的にはファイル拡張子やメールのユーザー名、パスワードを変更するだけで使用できますが、このように変更しただけではテストにアクセスする際にエラーが報告されます。公式のデモがわかりません。実際には、未定義の関数が呼び出され、不要なコンポーネントが含まれているのはなぜでしょうか。メールが正常に送信できるかテストしたいだけなので、次のように変更しました:

リーリー

このページにアクセスすると、依然としてエラーが報告されていることがわかり、本当にイライラします。なぜ公式デモを実行できないのでしょうか?

このとき、PHPMailer_v5.1/docs に Note_for_SMTP_debugging.txt というファイルがあることを思い出しました。SMTP サーバーに接続できないことが心配なので、デバッグ方法を確認してみます。その中で提供されます。

ファイルを開いて最初の行を読んだとき、まさにこれが私に必要なものだ!と目が輝きました。実は、使用方法もとても簡単で、ただ

リーリー

前方挿入

リーリー

エラーを報告すると、より詳細なエラー情報を取得できます。本当に良いものです^_^

このように変更した後、ページにアクセスすると、より詳細な手順が表示されました - 「SMTP -> エラー: サーバーへの接続に失敗しました: ソケット トランスポート "ssl" が見つかりません - 設定時に有効にするのを忘れましたか?」 PHP?(28593608)」。

それで、php 設定ファイル (C://Windows/php.ini) を開いて ssl を検索したところ、案の定、ssl に関する拡張子が見つかりました

リーリー

未開封です。コメントの前にある「;」を削除し、サーバーを再起動してテスト ページ use_gmail.php に再度アクセスしますが、同じエラー メッセージが表示されます。

他に方法はありません。PHP と Apache の SSL 設定に関する記事をオンラインで調べたところ、SSL 拡張モジュールを有効にするだけでは十分ではなく、Windows 環境での設定方法も非常に複雑であることがわかりました。シンプル — PHP インストール ディレクトリで ssleay32.dll と libeay32.dll を見つけて、Windows の system32 ディレクトリにコピーします (php.ini で extension=php_openssl.dll をオンにする必要があります)。もちろん、system32 ディレクトリを「汚染」したくない場合は、ssleay32.dll と libeay32.dll がシステム パス内にある限り、環境変数を変更できます。 (Windows オペレーティング システムを使用していない場合は、オンラインにアクセスして、オペレーティング システムに合わせて SSL を構成する方法を見つけてください。見つけるのは難しくありません)

今回はuse_gmail.phpにアクセスしてみたところ、無事送信できました!

在此基础上,我们的phplist的问题也可以解决了:用新版phpmailer中的class.phpmailer.php和class.smtp.php覆盖lists/admin/phpmailer中的对应文件,然后修改lists/admin/class.phplistmailer.php中36行左右处的

$this->SMTPAuth = true;
$this->Helo = getConfig("website");
$this->Host = PHPMAILERHOST;

ログイン後にコピー

为:

$this->IsSMTP();            # Add
$this->SMTPAuth = true;
$this->SMTPSecure = "ssl";       # Add
$this->Helo = getConfig("website");
$this->Host = PHPMAILERHOST;
$this->Port = 465            # Add

ログイン後にコピー

其中phpmailer默认端口号为25,是大多数smtp服务器的端口号,但是gmail使用的端口号是465,所以要重新设置。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • PHP的邮件群发系统phplist配置方法详细总结
  • PHP借助phpmailer发送邮件
  • thinkphp使用phpmailer发送邮件的方法
  • 使用PHPMailer实现邮件发送代码分享
  • phpmailer在服务器上不能正常发送邮件的解决办法
  • PHPMailer发送HTML内容、带附件的邮件实例
  • phpmailer中文乱码问题的解决方法
  • PHP使用PHPMailer发送邮件的简单使用方法
  • ThinkPHP利用PHPMailer实现邮件发送实现代码
  • phpmailer发送gmail邮件实例详解
  • PHPMailer邮件发送的实现代码

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117064.htmlTechArticlephplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer 本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート