


How to configure phplist and phpmailer (used in combination) to send emails through gmail, phplistphpmailer_PHP tutorial
How to configure phplist and phpmailer (used in combination) to send emails through gmail, phplistphpmailer
This article describes the configuration method of phplist and phpmailer to send emails through gmail. Share it with everyone for your reference, the details are as follows:
Generally speaking, as long as you are not using a gmail mailbox, then using phplist to send emails only needs to be configured according to the previous "Detailed Summary of the Configuration Method of PHP Bulk Email System phplist". But if you are unlucky like me and have to use an email with SSL verification like gmail, then congratulations, my misfortune has now become your luck. After several days of trying, I finally successfully combined gmail and phplist. . I am sharing my experience here, hoping it will be useful to all comrades who are in the same situation as me. In addition, the core of phplist is phpmailer, and the solution I proposed mainly revolves around phpmailer, so those who need to use phpmailer to send emails through gmail but cannot succeed can also refer to my method.
First send emails through gmail according to the configuration method in "Detailed Summary of Configuration Methods of PHP Bulk Email System phplist". When sending test emails, phplist will report that the email failed to be sent, and there will be an error message in the event log (eventlog)." Mailer Error: The following From address failed:...", which means there is a problem with the sender address. Is it possible that the SMTP server has been connected, but there is a problem when sending emails? You can use a method to test whether you are connected to the SMTP server: I deliberately filled in the wrong email account password in the config.php file, but the same error was still reported when I sent the test email. It seems that I was not connected to the SMTP server at all. , the error report of this phplist is too...
If you know that it is not connected to the SMTP server, it means that the problem lies in the core of phplist sending emails - another famous open source software phpmailer.
I checked the information on phpmailer sending gmail emails online and found that people said that the old version of phpmailer did not support SSL verification and could not connect to gmail's SMTP server. This problem has been solved in the new version of phpmailer.
Open lists/admin/phpmailer/ChangeLog.txt and find that the latest version of phplist comes with phpmailer version 1.73, which was released in 2005. It is indeed not new. So I went to the official website of phpmailer and downloaded the latest 5.1.
I wanted to first study how the new version of phpmailer solves the SSL verification problem, so I took a look at some of the documentation that comes with it, and happened to find a use_gmail.txt under PHPMailer_v5.1/docs, which seemed to be The official pays more attention to the Gmail problem and has specially released a demo for people's reference. When you open it, it is indeed a complete php page file. Basically, you can use it by modifying the file extension, email username and password. However, if you only modify it like this, an error will be reported when accessing the test page. I don’t know the official demo. How can there be such an error? It actually calls an undefined function and has some unnecessary components. We just want to test whether the email can be sent normally first, so I changed it to:
<?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"; } ?>
It turns out that when accessing this page, an error is still reported, which is really frustrating. Why can’t the official demo be run?
At this time, I suddenly remembered that there is a file named Note_for_SMTP_debugging.txt under PHPMailer_v5.1/docs. Now I am worried about not being able to connect to the SMTP server. I might as well take a look at the debugging methods provided in it.
When I opened the file and read the first line, my eyes lit up. This is exactly what I needed! In fact, the method of use is also very simple, just use
$mail->IsSMTP();
Insert before
$mail->SMTPDebug = 1;
You can get more detailed error information when reporting an error. What a good thing^_^
After modifying it like this, I got more detailed instructions when visiting the page - "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)".
That’s it, so I opened my php configuration file (C://Windows/php.ini) and searched for ssl, and sure enough I found an extension about ssl
;extension=php_openssl.dll
It is not opened. Remove the ";" used for comments in front of it, then restart the server and visit the test page use_gmail.php again, but the same error message still appears.
There is no other way. I checked online for articles about SSL configuration of PHP and Apache, and found that it is not enough to just enable the SSL extension module. OpenSSL must also be configured. The configuration method is very simple in the Windows environment. ——Find ssleay32.dll and libeay32.dll in the PHP installation directory, and copy them to the system32 directory under Windows (it is still necessary to turn on extension=php_openssl.dll in php.ini). Of course, those who don't want to "pollute" the system32 directory can modify the environment variables, as long as ssleay32.dll and libeay32.dll are in the system path. (If you are not using a winidows operating system, please go online to find the method of configuring SSL for your operating system. It should not be difficult to find)
This time I visited use_gmail.php and found that it could be sent successfully!
在此基础上,我们的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邮件发送的实现代码

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



No matter how many instant messaging apps have come and gone, email always has a completely different feel to it. Mailing is truly synonymous with Gmail. Not to mention a professional front desk, Gmail is unavoidable, just unavoidable! Since Gmail is used so frequently, no matter what, you have to know how to make your Gmail experience the smoothest and most efficient. You will most likely need to add a lot of web links in the body of your email, and it will definitely look unwieldy if you have so many links. But links are definitely necessary, even if long links will definitely make your email look ugly. So is there a way out? What about hyperlinks? How do you hide a link in text or an image? Sound cool? Oh yes, Gmail is

In web applications, it is often necessary to send emails to multiple recipients at once. PHP is a very popular web development language, and PHPMailer is a common PHP class library for sending emails. PHPMailer provides a rich interface, making sending emails in PHP applications more convenient and easy to use. In this article, we will introduce the methods and steps on how to use PHPMailer to send emails to multiple recipients. To download PHPMailer, you first need to go to the official website (

How to Remove Boomerang from Gmail Find below our step-by-step guide to remove Boomerang from your Gmail account on your PC or mobile phone. To remove Boomerang from Gmail on PC, open Google Chrome browser on your computer. In Google Chrome, click the three-dot icon in the upper right corner of the screen. Select More Tools from the drop-down menu. Click Extensions from the next drop-down menu. On the Extensions screen, look for

PHP development practice: Use PHPMailer to send emails to users in the MySQL database Introduction: In the construction of the modern Internet, email is an important communication tool. Whether it is user registration, password reset, or order confirmation in e-commerce, sending emails is an essential function. This article will introduce how to use PHPMailer to send emails and save the email information to the user information table in the MySQL database. 1. Install the PHPMailer library PHPMailer is

Google is expanding its Gmail app at Android with an AI-powered Q&A function which was already available in the web version of Gmail and is powered by Google's Gemini AI assistant. Users can now search their inbox more efficiently by asking speci

Gmail is the most popular web-based email server from Google, and it comes with many powerful features that are helpful when browsing, editing, and sending emails. One such feature is the autocomplete list, which allows users to view a list of email addresses saved as contacts before finishing entering the full address. This feature is really useful but sometimes it may not be a good approach as there may be some email addresses that are no longer valid or may have been deleted by the user. For example, someone who leaves an organization no longer has access to a company email address. But there is a way to remove those email addresses that are highlighted in Gmail's autocomplete list. If you also want to remove emails from Gmail autocomplete list

How to send HTML mail with embedded images using PHP and PHPMAILER? HTML email is a richer and more personalized form of email that can insert pictures, links and styles into the email. Embedded images refer to sending images directly as part of the email in the HTML email instead of sending them as attachments. In PHP, we can use PHPMAILER to send HTML emails with embedded images. PHPMAILER is a powerful PHP email sending library

How to use Flask-Mail to send emails With the development of the Internet, email has become an important tool for people to communicate. When developing web applications, sometimes we need to send emails in specific scenarios, such as sending a welcome email after a user successfully registers, or sending a password reset email when a user forgets their password, etc. Flask is a simple and flexible Python Web framework, and Flask-Mail is an extension library for sending emails under the Flask framework. This article will introduce how to
