首页>>帮助中心>>国内VPS 使用PHPMailer发送邮件问题排查

国内VPS 使用PHPMailer发送邮件问题排查

2024/12/2 212次

国内VPS 使用PHPMailer发送邮件问题排查
程序配置检查是否有误
/**
* @param string $user_mail 接收邮件者邮箱
* @param string $subject 邮件主题
* @param string $content 邮件内容
* @return bool|string
*/
function send_mail($user_mail, $subject, $content){
$mail = new PHPMailer\PHPMailer\PHPMailer(); //实例化
$mail->IsSMTP(); // 启用SMTP
$mail->Host = "smtp.163.com"; //SMTP smtp.qq.com QQ邮箱
$mail->Port = 25; //邮件发送端口
$mail->SMTPAuth = true; //启用SMTP认证
$mail->CharSet = "UTF-8"; //字符集
$mail->Encoding = "base64"; //编码方式
$mail->Username = "koba007@163.com"; //你的邮箱
$mail->Password = "*****"; //你的密码
$mail->Subject = $subject; //邮件标题
$mail->From = "koba007@163.com"; //发件人地址(也就是你的邮箱)
$mail->FromName = 'koba'; //发件人姓名
$address = "$user_mail";//收件人email
$mail->AddAddress("$address");//添加收件人地址,昵称
$mail->IsHTML(true); //支持html格式内容
$mail->emailtype = "HTML"; //信件类型,文本:text;网页:HTML
$mail->Body = $content;//邮件内容
if(!$mail->Send()) {
return $mail->ErrorInfo;
} else {
return true; //发送成功
}
}


php配置
这里php必须开启 openssl 以及 allow_url_fopen。

allow_url_fopen = On
extension=php_openssl.dll
.dll是window的设置,Linux服务器需要安装 openssl 扩展。

Linux服务器上发送邮件失效
如果Linux服务器上发送邮件失效,或者返回空白,这里需要修改

$mail->Port = 465;
修改为:

$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

购买使用一诺网络美国服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。美国服务器低至49元/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=3