PHP邮件发送主要有两种方法:使用PHP的内置函数mail()
和使用第三方库PHPMailer。
mail()
:mail()
函数是PHP中用于发送邮件的内置函数。它不需要额外的库支持,但功能相对有限。以下是使用mail()
函数发送邮件的基本步骤:
$to = "recipient@example.com";
$subject = "邮件主题";
$message = "邮件内容";
$headers = "From: sender@example.com" . "\r\n" .
"Reply-To: sender@example.com" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
if(mail($to, $subject, $message, $headers)) {
echo "邮件发送成功";
} else {
echo "邮件发送失败";
}
PHPMailer是一个功能强大的第三方邮件发送库,支持多种邮件协议(如SMTP、sendmail、QQ邮箱等)和邮件服务提供商。以下是使用PHPMailer发送邮件的基本步骤:
首先,通过Composer安装PHPMailer:
composer require phpmailer/phpmailer
然后,使用以下代码发送邮件:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// 服务器设置
$mail->isSMTP(); // 使用SMTP
$mail->Host = 'smtp.example.com'; // SMTP服务器地址
$mail->SMTPAuth = true; // 启用SMTP认证
$mail->Username = 'your_username'; // SMTP用户名
$mail->Password = 'your_password'; // SMTP密码
$mail->SMTPSecure = 'tls'; // 启用TLS加密
$mail->Port = 587; // SMTP端口
// 发件人和收件人
$mail->setFrom('sender@example.com', 'Sender Name');
$mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱
// 邮件内容
$mail->isHTML(true); // 设置邮件格式为HTML
$mail->Subject = '邮件主题';
$mail->Body = '邮件内容';
$mail->send();
echo '邮件发送成功';
} catch (Exception $e) {
echo "邮件发送失败。Mailer Error: {$mail->ErrorInfo}";
}
?>
这两种方法都可以实现PHP邮件发送,但PHPMailer提供了更多的功能和更好的兼容性,因此推荐使用PHPMailer。