많은 웹사이트는 등록 시 이메일 주소를 입력하도록 요구하며, 등록된 계정에 대한 인증 코드 수신, 등록 성공 알림, 로그인 알림, 비밀번호 검색 확인 알림 등과 같이 적용 시나리오가 비교적 광범위합니다. 이 기사에서는 PHP를 사용하여 이메일을 보내는 방법을 소개합니다.
오픈 소스 프로젝트 PHPMailer
오픈 소스 프로젝트인 PHPMailer를 사용하였으며, 이 글에서는 발신자로 163 메일박스를 사용하였습니다.
총 4개의 PHP 파일이 있습니다.
index.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require './Exception.php';
require './PHPMailer.php';
require './SMTP.php';
$mail = new PHPMailer(true);
try {
//服务器配置
$mail->CharSet ="UTF-8"; //设定邮件编码
$mail->SMTPDebug = 0; // 调试模式输出
$mail->isSMTP(); // 使用SMTP
$mail->Host = 'smtp.163.com'; // SMTP服务器
$mail->SMTPAuth = true; // 允许 SMTP 认证
$mail->Username = '[email protected]'; // SMTP 用户名 即邮箱的用户名
$mail->Password = 'xxx'; // SMTP 密码 部分邮箱是授权码(例如163邮箱)
$mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议
$mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持
$mail->setFrom('[email protected]', 'PHPMailer'); //发件人
$mail->addAddress('[email protected]', 'TANKING'); // 收件人
//$mail->addAddress('[email protected]'); // 可添加多个收件人
$mail->addReplyTo('[email protected]', 'PHPMailer'); //回复的时候回复给哪个邮箱 建议和发件人一致
//$mail->addCC('[email protected]'); //抄送
//$mail->addBCC('[email protected]'); //密送
//发送附件
// $mail->addAttachment('../xy.zip'); // 添加附件
// $mail->addAttachment('../thumb-1.jpg', 'new.jpg'); // 发送附件并且重命名
//Content
$mail->isHTML(true); // 是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容
$mail->Subject = '这里是邮件标题' . time();
$mail->Body = '<h1>这里是邮件内容</h1>' . date('Y-m-d H:i:s');
$mail->AltBody = '如果邮件客户端不支持HTML则显示此内容';
$mail->send();
echo '邮件发送成功';
} catch (Exception $e) {
echo '邮件发送失败: ', $mail->ErrorInfo;
}
코드 설명
index.php와 관련된 일부 매개변수:
SMTP 사용자 이름: 발신자 사서함
SMTP 암호: 발신자 사서함 인증 코드
발신자 이메일 주소의 인증 코드를 얻는 방법은 무엇입니까?
163 사서함을 예로 들어 사서함에 로그인하고 배경을 입력한 다음 설정 -> POP3/SMTP/IMAP를 클릭합니다.
텍스트 프롬프트에 따라 승인 코드를 받으십시오.
인증 코드를 얻은 후 이메일을 보내도록 코드로 구성할 수 있습니다.
사용하는 방법?
이메일을 보내려면 index.php를 직접 방문하세요!