The idea of implementing email sending in php
This article mainly introduces the idea of implementing email sending in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.
The main content of this article is to use PHP to send emails, which is summarized in the following two methods:
1. Use PHP’s built-in mail() function
<?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文 mail($to,$subject,$message);
The result is an error, as follows:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP " and "smtp_port" setting in php.ini or use ini_set() inD:/www/Zend/email/email.php on line 10
Analysis of reasons: You need a local SMTP server, so you changed the code:
<?php $to = "test@163.com";//收件人 $subject = "Test";//邮件主题 $message = "This is a test mail!";//邮件正文 ini_set('SMTP','smtp.163.com');//发件SMTP服务器 ini_set('smtp_port',25);//发件SMTP服务器端口 ini_set('sendmail_from',"admin@163.com");//发件人邮箱 mail($to,$subject,$message);
The result is still wrong:
Warning: mail() [function.mail]: SMTP server response : 553 authentication is required,smtp2,DNGowKD7v5BTDo9NnplVBA--.1171S2 1301220947 inD:/www/Zend/email/email.php on line 9
Analysis reason: Verification information is required, how to write verification information? ? Where to configure it? After referring to some technical articles with these questions, I came to the conclusion that using the mail() function to send emails requires a mail server that can send letters without SMTP authentication. But today's SMTP mail servers basically require authentication, so if you want to use it to send emails, you can only set up a local SMTP server that does not require authentication. Building method: Just use the IIS that comes with Windows, or download other SMTP server software from the Internet.
Conclusion: To use the mail() function to send emails, you must have an SMTP server that does not require authentication. In this case, the configuration work will be a little more, but it will be easier to use, just a few lines of code.
2. Use the mail class that encapsulates the SMTP protocol
This method is relatively common, especially for the majority of students who do not have a server and purchase a virtual host online. The first method is not practical, so you should use the SMTP protocol to send emails yourself.
But to complete this work, you need to have a certain understanding of the SMTP protocol. Students who like to do everything by themselves can write one by themselves. Students who like to use it as a tool can download it from the Internet. There are many .
However, I recommend using the Mail class in the PEAR extension. It has powerful functions: can support emails in plain text and HTML formats; Encoding can be set for fields, and correct configuration will not cause Chinese garbled characters; attachments, etc. can be supported.
You can use the pear install Mail command on the server to quickly install it. Students who do not have sufficient server permissions can also directly download the PHP source code of the class and include it.
Note: Mail class depends on Net/SMTP.php and Mail/mime.php, which need to be downloaded together and included together when using them.
Let me give an example of how to send emails in the Mail class. The methods of using other SMTP mail classes on the Internet are similar. You can refer to:
<?php // Pear Mail 扩展 require_once('Mail.php'); require_once('Mail/mime.php'); require_once('Net/SMTP.php'); $smtpinfo = array(); $smtpinfo["host"] = "smtp.163.com";//SMTP服务器 $smtpinfo["port"] = "25"; //SMTP服务器端口 $smtpinfo["username"] = "username@163.com"; //发件人邮箱 $smtpinfo["password"] = "password";//发件人邮箱密码 $smtpinfo["timeout"] = 10;//网络超时时间,秒 $smtpinfo["auth"] = true;//登录验证 //$smtpinfo["debug"] = true;//调试模式 // 收件人列表 $mailAddr = array('receiver@163.com'); // 发件人显示信息 $from = "Name <username@163.com>"; // 收件人显示信息 $to = implode(',',$mailAddr); // 邮件标题 $subject = "这是一封测试邮件"; // 邮件正文 $content = "<h3>随便写点什么</h3>"; // 邮件正文类型,格式和编码 $contentType = "text/html; charset=utf-8"; //换行符号 Linux: \n Windows: \r\n $crlf = "\n"; $mime = new Mail_mime($crlf); $mime->setHTMLBody($content); $param['text_charset'] = 'utf-8'; $param['html_charset'] = 'utf-8'; $param['head_charset'] = 'utf-8'; $body = $mime->get($param); $headers = array(); $headers["From"] = $from; $headers["To"] = $to; $headers["Subject"] = $subject; $headers["Content-Type"] = $contentType; $headers = $mime->headers($headers); $smtp =& Mail::factory("smtp", $smtpinfo); $mail = $smtp->send($mailAddr, $headers, $body); $smtp->disconnect(); if (PEAR::isError($mail)) { //发送失败 echo 'Email sending failed: ' . $mail->getMessage()."\n"; } else{ //发送成功 echo "success!\n"; }
If the SMTP classes found on the Internet are all It is highly encapsulated, so it is simpler to use than the above, but the usage methods are relatively similar.
Conclusion: You don’t need to install any software to send emails in this way. You only need to include a PHP class and write a few more lines of configuration code. That’s it. And there are many sample codes on the Internet. In many cases, you only need to copy them and modify a few parameters to use them, so it is very convenient and it is recommended to use this method.
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
Detailed explanation of function examples of PHP download files
PHP method to generate color QR codes based on QRCODE
PHP implements login verification code function and calling method
The above is the detailed content of The idea of implementing email sending in php. 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 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.

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.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP handles file uploads through the $\_FILES variable. The methods to ensure security include: 1. Check upload errors, 2. Verify file type and size, 3. Prevent file overwriting, 4. Move files to a permanent storage location.

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

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

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 and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.
