Table des matières
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer
您可能感兴趣的文章:
Maison php教程 php手册 phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer

Jun 13, 2016 am 08:42 AM
gmail phpmailer phpnow 发送邮件

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer

本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大家供大家参考,具体如下:

一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮件只要按照前面《PHP的邮件群发系统phplist配置方法详细总结》配置就够了。但若你如同我一样不幸,必须使用gmail这种有ssl验证的邮箱,那么恭喜你,我的不幸现在已然成为你的幸运,经过数天的尝试,我终于成功将gmail与phplist组合在了一起。现将经验分享于此,希望对各位同我一般境遇的同志有用。另外,phplist的核心是phpmailer,我提出的解决方案也主要是围绕phpmailer的,所以需要使用phpmailer通过gmail发送邮件而不能成功者也可以参考我的方法。

首先按照《PHP的邮件群发系统phplist配置方法详细总结》中的配置方法通过gmail发送邮件,在发送测试邮件时phplist会报告发送邮件失败,在事件日志(eventlog)里会有错误提示“Mailer Error: The following From address failed:...”,说是发件人地址存在问题。难道是已经连上smtp服务器,但是发送邮件过程中存在问题吗?可以用一个方法试验一下到底连没连上smtp服务器:我把config.php文件中的邮箱帐户密码故意填错,结果发送测试邮件时仍然报同样的错误,看来是根本就没连上smtp服务器,这phplist的错误报告也太……

知道是没连上smtp服务器那就说明问题出现在phplist发送邮件的核心——另一款著名开源软件phpmailer。

上网查了一下phpmailer发送gmail邮件的资料,发现人们说旧版本的phpmailer不支持ssl验证,不能连接gmail的smtp服务器,而此问题已在新版的phpmailer中解决了。

打开lists/admin/phpmailer/ChangeLog.txt,发现最新版的phplist自带的phpmailer的版本是1.73,是2005年出的,确实不算新。于是上phpmailer的官网下了个最新的5.1的。

我想先研究一下新版的phpmailer是如何解决ssl验证的问题的,于是看了一下其自带的一些说明文档,碰巧发现在PHPMailer_v5.1/docs下有一个use_gmail.txt,看来是官方比较重视gmail问题,专门出了一个demo供人参考。打开一看也确实是一个完整的php页面文件,基本上修改了文件扩展名、邮箱用户名和密码就能使用,但如果仅仅如此修改,在访问该测试页面时会报错,也不知官方出的demo怎么会有这样的错误,居然会调用一个未定义的函数,而且有一些没有必要的成分。我们只不过想先测试一下能否正常发送邮件,所以我将其修改为:

<&#63;php
    // example on using PHPMailer with GMAIL
    include("class.phpmailer.php");
    include("class.smtp.php"); // note, this is optional - gets called from main class if not already loaded
    $mail       = new PHPMailer();
    $body       = "test";
    $mail->IsSMTP();
    $mail->SMTPAuth  = true;         // enable SMTP authentication
    $mail->SMTPSecure = "ssl";         // sets the prefix to the servier
    $mail->Host    = "smtp.gmail.com";   // sets GMAIL as the SMTP server
    $mail->Port    = 465;          // set the SMTP port
    $mail->Username  = "myname@gmail.com"; // GMAIL username
    $mail->Password  = "mypassword";      // GMAIL password
    $mail->From    = "myname@gmail.com";
    $mail->FromName  = "Webmaster";
    $mail->Subject  = "This is the subject";
    $mail->AltBody  = "This is the body when user views in plain text format"; //Text Body
    $mail->WordWrap  = 50; // set word wrap
    $mail->MsgHTML($body);
    $mail->AddReplyTo("myname@gmail.com","Webmaster");
    $mail->AddAddress("myname@gmail.com","First Last");
    $mail->IsHTML(true); // send as HTML
    if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
     echo "Message has been sent";
    }
&#63;>

Copier après la connexion

结果发现访问此页面时仍然报错,真是令人无奈,官方给的demo怎么会无法运行?

这时我忽然想起PHPMailer_v5.1/docs下有一个名为Note_for_SMTP_debugging.txt的文件,现在我不正是在为连不上smtp服务器而烦恼吗,不妨看一下里面提供的调试方法。

打开文件看完第一行就眼前一亮,这正是我所需要的!其实使用方法也很简单,只要在

$mail->IsSMTP();

Copier après la connexion

前插入

$mail->SMTPDebug = 1;

Copier après la connexion

便可在报错同时得到更见详细的错误信息。真是好东西^_^

按照这样修改完后,我在访问页面时得到了更加详细的说明——“SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (28593608)”。

原来如此,于是我打开了我的php配置文件(C://Windows/php.ini)搜索ssl,果然搜到一个关于ssl的扩展

;extension=php_openssl.dll

Copier après la connexion

它没有被打开。去掉其前面用于注释的“;”,然后重启服务器,再次访问测试页面use_gmail.php,仍然是同样的错误提示。

没办法了,我上网查了一下关于php以及apache的ssl配置的文章,发现仅仅是将ssl扩展模块开启是不够的,还要对openssl进行配置,在Windows环境下配置方法倒是很简单——找到php安装目录下的ssleay32.dll和libeay32.dll,将这二者复制到windows下的system32目录中即可(在php.ini中开启extension=php_openssl.dll还是必要的)。当然,不想“污染”system32目录的同志们可以用修改环境变量的方法,只要让ssleay32.dll和libeay32.dll在系统路径下就可以了。(如果你使用的不是winidows操作系统,请上网查找针对你的操作系统的配置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;

Copier après la connexion

为:

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

Copier après la connexion

其中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邮件发送的实现代码
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter un lien hypertexte vers du texte ou une image dans Gmail Comment ajouter un lien hypertexte vers du texte ou une image dans Gmail May 06, 2023 pm 06:07 PM

Peu importe le nombre d’applications de messagerie instantanée qui ont vu le jour, le courrier électronique a toujours une sensation complètement différente. Mailing est véritablement synonyme de Gmail. Sans oublier une réception professionnelle, Gmail est incontournable, tout simplement incontournable ! Étant donné que Gmail est utilisé si fréquemment, quoi qu'il arrive, vous devez savoir comment rendre votre expérience Gmail la plus fluide et la plus efficace. Vous devrez probablement ajouter de nombreux liens Web dans le corps de votre e-mail, et cela semblera certainement compliqué si vous avez autant de liens. Mais les liens sont absolument nécessaires, même si de longs liens rendront certainement votre e-mail moche. Alors, y a-t-il une issue ? Et les hyperliens ? Comment masquer les liens dans le texte ou les images ? Ça a l'air cool ? Oh oui, Gmail est

Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux utilisateurs de la base de données MySQL Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux utilisateurs de la base de données MySQL Aug 05, 2023 pm 06:21 PM

Pratique de développement PHP : utilisez PHPMailer pour envoyer des e-mails aux utilisateurs de la base de données MySQL Introduction : Dans la construction de l'Internet moderne, l'e-mail est un outil de communication important. Qu’il s’agisse d’enregistrement d’utilisateur, de réinitialisation de mot de passe ou de confirmation de commande en e-commerce, l’envoi d’emails est une fonction essentielle. Cet article explique comment utiliser PHPMailer pour envoyer des e-mails et enregistrer les informations de courrier électronique dans le tableau d'informations utilisateur de la base de données MySQL. 1. Installez la bibliothèque PHPMailer PHPMailer est

Méthodes PHP et étapes pour envoyer des e-mails à plusieurs personnes à l'aide de PHPMailer Méthodes PHP et étapes pour envoyer des e-mails à plusieurs personnes à l'aide de PHPMailer May 22, 2023 pm 06:10 PM

Dans les applications Web, il est souvent nécessaire d’envoyer des emails à plusieurs destinataires à la fois. PHP est un langage de développement Web très populaire et PHPMailer est une bibliothèque de classes PHP courante pour l'envoi d'e-mails. PHPMailer fournit une interface riche, rendant l'envoi d'e-mails dans des applications PHP plus pratique et plus facile à utiliser. Dans cet article, nous présenterons les méthodes et les étapes à suivre pour utiliser PHPMailer pour envoyer des e-mails à plusieurs destinataires. Pour télécharger PHPMailer, vous devez d'abord vous rendre sur le site officiel (

Comment supprimer les adresses e-mail de saisie semi-automatique dans Gmail Comment supprimer les adresses e-mail de saisie semi-automatique dans Gmail Apr 21, 2023 am 10:46 AM

Gmail est le serveur de messagerie Web le plus populaire de Google et il est doté de nombreuses fonctionnalités puissantes qui sont utiles lors de la navigation, de la modification et de l'envoi d'e-mails. L'une de ces fonctionnalités est la liste de saisie semi-automatique, qui permet aux utilisateurs d'afficher une liste d'adresses e-mail enregistrées en tant que contacts avant de terminer la saisie de l'adresse complète. Cette fonctionnalité est très utile, mais elle peut parfois ne pas être une bonne approche car certaines adresses e-mail peuvent ne plus être valides ou avoir été supprimées par l'utilisateur. Par exemple, une personne qui quitte une organisation n’a plus accès à l’adresse e-mail de l’entreprise. Mais il existe un moyen de supprimer les adresses e-mail mises en évidence dans la liste de saisie semi-automatique de Gmail. Si vous souhaitez également supprimer des e-mails de la liste de saisie semi-automatique Gmail

Comment supprimer Boomerang de Gmail sur PC ou téléphone Comment supprimer Boomerang de Gmail sur PC ou téléphone Apr 14, 2023 pm 10:46 PM

Comment supprimer Boomerang de Gmail Retrouvez ci-dessous notre guide étape par étape pour supprimer Boomerang de votre compte Gmail sur votre PC ou téléphone mobile. Pour supprimer Boomerang de Gmail sur PC, ouvrez le navigateur Google Chrome sur votre ordinateur. Dans Google Chrome, cliquez sur l'icône à trois points dans le coin supérieur droit de l'écran. Sélectionnez Plus d'outils dans le menu déroulant. Cliquez sur Extensions dans le menu déroulant suivant. Sur l'écran Extensions, recherchez

Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de réponse automatique pour l'envoi d'email ? Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de réponse automatique pour l'envoi d'email ? Jul 22, 2023 am 11:57 AM

Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de réponse automatique pour l'envoi d'email ? Dans la société moderne, le courrier électronique est devenu l’un des moyens importants de communication dans la vie quotidienne. De nombreux sites Web ou entreprises doivent communiquer avec les utilisateurs par e-mail, et la réponse automatique aux e-mails est devenue très importante. Cet article explique comment utiliser PHP et la bibliothèque PHPMailer pour implémenter la fonction de réponse automatique pour l'envoi d'e-mails. Étape 1 : obtenir les informations de messagerie de l'utilisateur. Tout d'abord, nous devons obtenir les informations de messagerie de l'utilisateur. Sur un site Web ou une application, utilisez

Comment utiliser Gmail sur iPhone pour rechercher et récupérer des e-mails archivés Comment utiliser Gmail sur iPhone pour rechercher et récupérer des e-mails archivés Apr 26, 2023 am 10:52 AM

Sur votre iPhone, vous essayez de retrouver d’anciens emails archivés dans Gmail mais vous n’y parvenez pas ? Vous n'êtes pas seul, alors ne vous inquiétez pas. De nombreuses personnes rencontrent des difficultés pour retrouver et récupérer d’anciens e-mails sur leurs appareils mobiles. Dans cet article de blog, nous vous guiderons tout au long du processus de recherche et de récupération des e-mails archivés dans Gmail sur iPhone. Nous vous fournirons également des conseils et astuces pour vous aider à organiser votre boîte de réception et à retrouver plus facilement les e-mails importants à l'avenir. Ainsi, que vous essayiez de récupérer des e-mails professionnels importants ou des messages sentimentaux de vos proches, vous apprendrez comment accéder et récupérer facilement les e-mails archivés. Archivez vos emails dans Gmail Étape 1 : Sur iP

Google Gemini désormais dans l'application Gmail : recherche intelligente d'e-mails via l'IA sur les appareils Android Google Gemini désormais dans l'application Gmail : recherche intelligente d'e-mails via l'IA sur les appareils Android Aug 31, 2024 am 09:54 AM

Google étend son application Gmail sur Android avec une fonction de questions et réponses basée sur l'IA, déjà disponible dans la version Web de Gmail et alimentée par l'assistant Gemini AI de Google. Les utilisateurs peuvent désormais effectuer des recherches plus efficaces dans leur boîte de réception en demandant spécifiquement

See all articles