欢迎访问宙启技术站
智能推送

PHP邮件发送函数:用SMTP发送邮件、设置附件、HTML格式邮件

发布时间:2023-06-04 18:39:22

邮件是我们日常生活中必不可少的通讯方式,而在现代信息化社会中,邮件更是扮演着重要的角色。在网站开发中,有时需要使用邮件发送功能,本文将介绍使用PHP的SMTP发送邮件、设置附件和HTML格式邮件。

一、使用SMTP发送邮件

SMTP是Simple Mail Transfer Protocol的缩写,即简单邮件传输协议,是目前电子邮件发送的主流协议,常用于发送邮件。利用PHP的SMTP发送邮件,需要借助第三方库PHPMailer。

1、安装PHPMailer

可以通过Composer安装PHPMailer库,或者从官网下载PHPMailer,将其放在项目目录下。

2、编写PHP脚本

以下是使用PHPMailer发送邮件的代码示例:

<?php 
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 

require_once '../vendor/autoload.php'; 

$mail = new PHPMailer(true); 

try { 
    // SMTP设置 
    $mail->isSMTP(); 
    $mail->Host = 'smtp.gmail.com'; 
    $mail->SMTPAuth = true; 
    $mail->Username = 'example@gmail.com';   // 发件人邮箱账号 
    $mail->Password = 'password';            // 发件人邮箱密码或授权码 
    $mail->SMTPSecure = 'ssl'; 
    $mail->Port = 465; 

    // 收件人信息 
    $mail->setFrom('example@gmail.com', '发件人名称'); 
    $mail->addAddress('recipient@example.com', '收件人名称'); 

    // 邮件内容 
    $mail->isHTML(true); 
    $mail->Subject = '邮件主题'; 
    $mail->Body = '<h1>邮件内容</h1>'; 

    $mail->send(); 
    echo '邮件发送成功'; 
} catch (Exception $e) { 
    echo '邮件发送失败:' . $mail->ErrorInfo; 
}

3、说明

上述代码中,首先引入了PHPMailer库,并实例化一个PHPMailer对象,接着设置SMTP信息,包括SMTP服务器地址、SMTP认证、SMTP用户名、SMTP密码和SMTP加密方式等。接着设置收件人信息,包括发件人邮箱、收件人邮箱和发件人名称、收件人名称等。最后设置邮件内容,可以设置HTML格式的邮件内容,包括邮件主题和邮件正文内容等。

二、设置附件

如果需要在邮件中添加附件,也可以利用PHPMailer库实现。

1、代码示例

以下是添加附件的代码示例:

$mail->addAttachment('/path/file.pdf', '文件.pdf'); 

2、说明

在上述代码中,使用addAttachment()方法添加一个附件, 个参数是附件的本地文件路径,第二个参数是附件在邮件中显示的名称。

三、HTML格式邮件

HTML格式邮件可以像普通HTML网页一样设置样式和排版,可以让邮件更加美观和易于阅读。

1、代码示例

以下是使用HTML格式的邮件内容的代码示例:

$mail->isHTML(true); 
$mail->Subject = '邮件主题'; 
$mail->Body = '<h1 style="color:red;">邮件内容</h1>'; 

2、说明

在上述代码中,使用isHTML()方法设置邮件内容为HTML格式,设置邮件主题和邮件正文内容,邮件正文内容可以直接写HTML的代码,可以设置样式和布局等。

最后,使用PHPMailer可以很方便地实现SMTP发送邮件、添加附件和发送HTML格式邮件等功能,可以应用于网站的用户注册、密码重置和通知等场景。