本文共 1698 字,大约阅读时间需要 5 分钟。
###ThinkPHP5.0邮件发送配置与使用方法
通过以下步骤来实现ThinkPHP5.0环境下的邮件发送功能:
####一、前置配置
开启必要服务
下载并整理PHPMailer类库
class.phpmailer.php和class.smtp.php分别放置在thinkphp5/extend/phpmailer目录下。安装OpenSSL扩展
php_openssl.dll是否存在于F:\xampp\php\ext或其他扩展目录中,确认存在后开启 OpenSSL扩展。php.ini,查找extension=php_openssl.dll并去掉注释。命名空间申明
thinkphp5/extend/phpmailer/class.phpmailer.php,于文件开头加入namespace phpmailer;。####二、邮件发送代码示例
在ThinkPHP5的具体业务逻辑中,例如控制器中的index方法,加入以下代码:
use phpmailer\phpmailer;class Index extends Controller { public function index() { $toemail = '收件人邮箱'; // 接收方邮箱地址 $mail = new PHPMailer(); $mail->isSMTP(); // SMTP协议传输 $mail->CharSet = "utf8"; // 设置utf8编码,避免乱码 $mail->Host = "smtp.163.com"; // 163邮箱SMTP服务器 $mail->SMTPAuth = true; // 启用身份验证 $mail->Username = "163邮箱用户名"; // 163邮箱账号 $mail->Password = "客户端授权密码"; // 客户端授权码 $mail->SMTPSecure = "ssl"; // 使用SSL协议 $mail->Port = 994; // 163邮箱SSL端口 $mail->setFrom("从账号@163.com", "邮件标题"); $mail->addAddress($toemail, "收件人显示名"); $mail->addReplyTo("从账号@163.com", "回复地址"); $mail->Subject = "邮件标题"; // 邮件主题 $mail->Body = "邮件正文内容"; // 邮件内容 // 如果需要添加附件,可以使用以下方式: // $mail->addAttachment("附件路径"); if (!$mail->send()) { echo "邮件发送失败:" . $mail->ErrorInfo; } else { echo "邮件发送成功."; } }} ####三、注意事项
错误处理
$mail->send()时返回false,请检查ErrorInfo输出以确定具体错误类型。代码引用
use phpmailer\phpmailer;语句进行命名空间声明。常见问题
SMTP Error: Data not accepted等错误,通常是邮件内容过滤问题。可以尝试更换部分关键词后重新发送。通过以上配置和代码示例,可以在ThinkPHP5.0环境下顺利实现邮件发送功能。
转载地址:http://cdotz.baihongyu.com/