search
HomeBackend DevelopmentPHP TutorialHow 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:

<&#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;>

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邮件发送的实现代码

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117064.htmlTechArticlephplist及phpmailer(组合使用)通过gmail发送邮件的配置方法,phplistphpmailer 本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP in Action: Real-World Examples and ApplicationsPHP in Action: Real-World Examples and ApplicationsApr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: Creating Interactive Web Content with EasePHP: Creating Interactive Web Content with EaseApr 14, 2025 am 12:15 AM

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python: Comparing Two Popular Programming LanguagesPHP and Python: Comparing Two Popular Programming LanguagesApr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

The Enduring Relevance of PHP: Is It Still Alive?The Enduring Relevance of PHP: Is It Still Alive?Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP's Current Status: A Look at Web Development TrendsPHP's Current Status: A Look at Web Development TrendsApr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP vs. Other Languages: A ComparisonPHP vs. Other Languages: A ComparisonApr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and FunctionalityPHP vs. Python: Core Features and FunctionalityApr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP: A Key Language for Web DevelopmentPHP: A Key Language for Web DevelopmentApr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.