phpmailer uses php to send emails case analysis
This time I will bring you a case analysis of phpmailer using php to send emails. What are the precautions for phpmailer to use php to send emails. The following is a practical case, let’s take a look.
Step one:Open the URL to download PHPMailer. PHPMailer requires PHP's sockets extension support, and logging into the QQ mailbox SMTP server must be SSL encrypted, and PHP must also include openssl support.
Step 2: Use the phpinfo() function to view the socket and openssl extension information (wamp server enables this extension by default).
openssl If it is not enabled, please open the php.ini file to enable it
First check whether;extension=php_openssl.dll in php.ini exists. If it exists, remove the preceding comment character ';' , If this line does not exist, add extension=php_openssl.dll.
PHPMailer core file
##Step 3: QQ Email Settings
All mainstream mailboxes support the SMTP protocol, but not all mailboxes are enabled by default. You can manually enable it in the mailbox settings. After providing the account and password, the third-party service can log in to the SMTP server and use it to control the mail transfer method.Step 4: Start the SMTP service
Step 5:Verify password
Step 6: Get the authorization code
##SMTP server authentication password, which needs to be kept properly (PS: There are no spaces in the password)
PHP Send EmailBasic Code
The following code demonstrates the use of PHPMailer. Pay attention to the configuration process of the PHPMailer instance.
// 引入PHPMailer的核心文件 require_once("PHPMailer/class.phpmailer.php"); require_once("PHPMailer/class.smtp.php"); // 实例化PHPMailer核心类 $mail = new PHPMailer(); // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->SMTPDebug = 1; // 使用smtp鉴权方式发送邮件 $mail->isSMTP(); // smtp需要鉴权 这个必须是true $mail->SMTPAuth = true; // 链接qq域名邮箱的服务器地址 $mail->Host = 'smtp.qq.com'; // 设置使用ssl加密方式登录鉴权 $mail->SMTPSecure = 'ssl'; // 设置ssl连接smtp服务器的远程服务器端口号 $mail->Port = 465; // 设置发送的邮件的编码 $mail->CharSet = 'UTF-8'; // 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->FromName = '发件人昵称'; // smtp登录的账号 QQ邮箱即可 $mail->Username = '12345678@qq.com'; // smtp登录的密码 使用生成的授权码 $mail->Password = '**********'; // 设置发件人邮箱地址 同登录账号 $mail->From = '12345678@qq.com'; // 邮件正文是否为html编码 注意此处是一个方法 $mail->isHTML(true); // 设置收件人邮箱地址 $mail->addAddress('87654321@qq.com'); // 添加多个收件人 则多次调用方法即可 $mail->addAddress('87654321@163.com'); // 添加该邮件的主题 $mail->Subject = '邮件主题'; // 添加邮件正文 $mail->Body = '<h1>Hello World</h1>'; // 为该邮件添加附件 $mail->addAttachment('./example.pdf'); // 发送邮件 返回状态 $status = $mail->send();
I use the code in thinkphp5.0
/** * 邮件发送 * @param $to 接收人 * @param string $subject 邮件标题 * @param string $content 邮件内容(html模板渲染后的内容) * @throws Exception * @throws phpmailerException */ function send_email($to,$subject='',$content=''){ vendor('phpmailer.PHPMailerAutoload'); //require_once 'vendor/phpmailer/PHPMailerAutoload.php'; $mail = new PHPMailer; $arr = db('config')->where('inc_type','smtp')->select(); $config = convert_arr_kv($arr,'name','value'); $mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码 $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 0; //调试输出格式 //$mail->Debugoutput = 'html'; //smtp服务器 $mail->Host = $config['smtp_server']; //端口 - likely to be 25, 465 or 587 $mail->Port = $config['smtp_port']; if($mail->Port === 465) $mail->SMTPSecure = 'ssl';// 使用安全协议 //Whether to use SMTP authentication $mail->SMTPAuth = true; //发送邮箱 $mail->Username = $config['smtp_user']; //密码 $mail->Password = $config['smtp_pwd']; //Set who the message is to be sent from $mail->setFrom($config['smtp_user'],$config['email_id']); //回复地址 //$mail->addReplyTo('replyto@example.com', 'First Last'); //接收邮件方 if(is_array($to)){ foreach ($to as $v){ $mail->addAddress($v); } }else{ $mail->addAddress($to); } $mail->isHTML(true);// send as HTML //标题 $mail->Subject = $subject; //HTML内容转换 $mail->msgHTML($content); //Replace the plain text body with one created manually //$mail->AltBody = 'This is a plain-text message body'; //添加附件 //$mail->addAttachment('images/phpmailer_mini.png'); //send the message, check for errors return $mail->send(); }
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
Detailed explanation of the use of PHP bubble sortDetailed explanation of the steps of PHP implementation of binary tree depth and breadth first traversal algorithmThe above is the detailed content of phpmailer uses php to send emails case analysis. For more information, please follow other related articles on the PHP Chinese website!

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
