phpmailer在阿里云服务器发送邮件失败,中文乱码
我的环境是:apache+mysql+php 首先查看是否开启了socket与openssl扩展 如果没有那就找到php.ini文件并打开,开启这这个扩展 将 extension=php_openssl.dll 这个句代码前的“;”去掉 php_sockets.dll php_openssl.dll 发送邮件的代码中确保有这两句: $mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权 $mail->Port = 465; //设置ssl连接smtp服务器的远程服务器端口号 465 给防火墙添加465端口的访问权限 之前我在本地测试一直正常,换上阿里云服务器之后邮件发送失败 是因为阿里云默认没有开启465端口的访问权限 服务器开启465安全组,最新的阿里云ECS可以直接在安全策略中配置 阿里云管理后台->云服务器->网络和安全->安全组->自行配置 完成后重启php和服务器 已经可以成功接收到邮件了。 补充一个小问题,我用alert弹出的中文显示乱码,本地测试是Ok的 这是原来的代码: exit("<script charset='UTF-8'>alert(\"留言成功!\");location.href='".$_SERVER["HTTP_REFERER"]."'</script>"); 然后改成了下面这句就不再乱码了 echo '<html>