search
HomeBackend DevelopmentPHP TutorialHow to send email in PHP

How to send email in PHP

May 22, 2023 am 09:21 AM
smtp protocolphp mail functionmime type

With the rapid development of modern technology, email has become an indispensable part of people's daily life and work. As website application developers, we need to send various types of emails to the users of our website. PHP is a widely used server-side scripting language with powerful email sending capabilities. This article will introduce how to send emails using PHP.

Basic principles of sending emails in PHP

The main steps of sending emails in PHP can be summarized as the following points:

1. Construct the email header
2 .Construct the email content
3.Connect to the mailbox server
4.Verify identity information
5.Send the email

Construct the email header

Constructing the email header means using PHP header function to specify the header information of the email. Email header information includes sender, recipient, email subject, and other information.

For example:

$to = "receiver@example.com";
$subject = "Email subject";
$headers = "From: sender@example.com ";

In this example, the $to variable specifies the recipient of the email, the $subject variable specifies the subject of the email, and the "From" item specifies the sender of the email. The value of $headers is a string used to specify various email header information. These messages include "From", "Reply-To", "To", "Cc", "Bcc", etc.

Constructing email content

Constructing email content mainly specifies the body content of the email. When sending emails in PHP, you can use two methods to structure email content: text mode and HTML mode.

Text mode:

$message="Email text content";

HTML mode:

$message="

Email titleEmail content";

Connect to the email server

Sending emails requires connecting to the mailbox server. In PHP, you can use the following function to connect to the server:

$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpusername,$smtppassword);

Among them, $smtpserver specifies The address of the SMTP server; $smtpserverport specifies the port number of the SMTP server; $smtpusername specifies the authentication user name of the SMTP server; $smtppassword specifies the authentication password of the SMTP server.

Verify identity information

Verification of identity information refers to using the specified user name and password to log in to the SMTP server so that emails can be sent. In PHP, you can use the following code to verify identity information:

$smtp->auth($smtpusername,$smtppassword);

Send email

After completion After the above steps, you can use PHP functions to send emails. The function to send emails in PHP is mail(). It can receive three parameters:

mail($to,$subject,$message,$headers);

Among them, $to specifies the recipient of the email; $subject specifies the email The subject; $message specifies the content of the email; $headers specifies the header file information of the email.

For example:

mail($to,$subject,$message,$headers);

Complete code example

The following is a complete PHP Email sending example. In this example, we will use the PHPMailer class to send emails.

require_once("phpmailer/class.phpmailer.php");
require_once("phpmailer/class.smtp.php");

// Create a PHPMailer instance
$mail = new PHPMailer();

//Specify SMTP server
$mail->IsSMTP();
$mail->Host = "smtp .example.com";

//Specify username and password verification
$mail->SMTPAuth = true;
$mail->Username = "username@example.com";
$mail->Password = "password";

//Specify the encoding format for sending emails
$mail->CharSet = "utf-8";

/ /Specify the header of the email to be sent
$mail->From = "username@example.com";
$mail->FromName = "Sender's name";
$mail-> AddAddress("receiver@example.com", "recipient's name");
$mail->AddReplyTo("username@example.com", "sender's name");

//Specify the subject and body of the email
$mail->Subject = "Email subject";
$mail->Body = "Email body content";
$mail->AltBody = " Email body content, if the email client does not support HTML, this content will be displayed";

//Specify the attachment of the email
$mail->AddAttachment("./attachment.zip");

//Send the email and check whether it was sent successfully
if ($mail->Send()) {

echo "发送成功";

} else {

echo "发送失败:" . $mail->ErrorInfo;

}
? >

Summary

This article introduces you to how to use PHP to send emails. PHP's mail() function provides the basic function of sending emails, while the PHPMailer class provides more powerful email sending functions. Sending emails using PHP is very convenient and can be done with just a few lines of code. Hope this article can be helpful to you.

The above is the detailed content of How to send email in PHP. For more information, please follow other related articles on the PHP Chinese website!

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
How does PHP identify a user's session?How does PHP identify a user's session?May 01, 2025 am 12:23 AM

PHPidentifiesauser'ssessionusingsessioncookiesandsessionIDs.1)Whensession_start()iscalled,PHPgeneratesauniquesessionIDstoredinacookienamedPHPSESSIDontheuser'sbrowser.2)ThisIDallowsPHPtoretrievesessiondatafromtheserver.

What are some best practices for securing PHP sessions?What are some best practices for securing PHP sessions?May 01, 2025 am 12:22 AM

The security of PHP sessions can be achieved through the following measures: 1. Use session_regenerate_id() to regenerate the session ID when the user logs in or is an important operation. 2. Encrypt the transmission session ID through the HTTPS protocol. 3. Use session_save_path() to specify the secure directory to store session data and set permissions correctly.

Where are PHP session files stored by default?Where are PHP session files stored by default?May 01, 2025 am 12:15 AM

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita

How do you retrieve data from a PHP session?How do you retrieve data from a PHP session?May 01, 2025 am 12:11 AM

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

How can you use sessions to implement a shopping cart?How can you use sessions to implement a shopping cart?May 01, 2025 am 12:10 AM

The steps to build an efficient shopping cart system using sessions include: 1) Understand the definition and function of the session. The session is a server-side storage mechanism used to maintain user status across requests; 2) Implement basic session management, such as adding products to the shopping cart; 3) Expand to advanced usage, supporting product quantity management and deletion; 4) Optimize performance and security, by persisting session data and using secure session identifiers.

How do you create and use an interface in PHP?How do you create and use an interface in PHP?Apr 30, 2025 pm 03:40 PM

The article explains how to create, implement, and use interfaces in PHP, focusing on their benefits for code organization and maintainability.

What is the difference between crypt() and password_hash()?What is the difference between crypt() and password_hash()?Apr 30, 2025 pm 03:39 PM

The article discusses the differences between crypt() and password_hash() in PHP for password hashing, focusing on their implementation, security, and suitability for modern web applications.

How can you prevent Cross-Site Scripting (XSS) in PHP?How can you prevent Cross-Site Scripting (XSS) in PHP?Apr 30, 2025 pm 03:38 PM

Article discusses preventing Cross-Site Scripting (XSS) in PHP through input validation, output encoding, and using tools like OWASP ESAPI and HTML Purifier.

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

Video Face Swap

Video Face Swap

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

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.