月小升发现阿里云ECS无法发送QQ企业邮箱的邮件,但是本地没问题啊。原来QQ企业邮箱需要ssl用465端口,而不是25端口,写一个博客留个记号
<?php //本地和阿里云都可以发送。 require_once("vendor/autoload.php"); $mail = new PHPMailer(); // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->SMTPDebug = 1; $smtpServer = 'smtp.exmail.qq.com'; $smtpServerPort = '465'; $smtpuserMail = 'donoreply@java-er.com'; $smtpPass = 'yuexiaosheng222016'; $title = "我是title.1"; $content = "我是内容"; $to = "275702822223@qq.com"; $mail->IsSMTP(); // 启用SMTP $mail->Host=$smtpServer; //smtp服务器的名称(这里以QQ邮箱为例) $mail->Port=$smtpServerPort; //smtp服务器的端口号 $mail->SMTPSecure='ssl'; //阿里云不支持25端口,所以只能用ssl连接 $mail->SMTPAuth = true; //启用smtp认证 $mail->Username = $smtpuserMail; //你的邮箱名 $mail->Password = $smtpPass ; //邮箱密码 $mail->From = $smtpuserMail; //发件人地址(也就是你的邮箱地址) $mail->FromName = "java-er.com"; //发件人姓名 $mail->AddAddress($to,"Dear"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(true); // 是否HTML格式邮件 $mail->CharSet="utf-8"; //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 $res = $mail->Send(); var_dump($res); ?>