陣子剛剛買了個阿里云服務器,在做發送郵件功能時,發現本來在本地測試沒問題的功能,在服務器上連接超時。
后來發現是阿里云將25端口禁用了(“坑!當然也有其道理”),大概2016年9月后買的服務器都被禁用。25禁用了,我們就不用它。以163郵箱為例:
網易163免費郵箱相關服務器信息:
我這里用的就是SSL協議端口465,代碼如下
- <?php
- header("content-type:text/html;charset=utf-8");
- include("/PHPMailer/class.phpmailer.php");
- include("/PHPMailer/class.smtp.php");
- $mail = new PHPMailer(true);
- $mail->IsSMTP();
- $mail->CharSet=‘UTF-8‘; //設置郵件的字符編碼,這很重要,不然中文亂碼
- $mail->SMTPAuth = true; //開啟認證
- $mail->SMTPSecure = ‘ssl‘;//設置使用ssl加密方式登錄鑒權
- $mail->Port = 465;
- $mail->Host = "smtp.163.com";
- $mail->Username = "郵箱名";
- $mail->Password = "授權碼";
- //$mail->IsSendmail(); //如果沒有sendmail組件就注釋掉,否則出現“Could not execute: /var/qmail/bin/sendmail ”的錯誤提示
- $mail->AddReplyTo("郵箱名","mckee");//回復地址
- $mail->From = "郵箱名";
- $mail->FromName = "www.phpddt.com";
- $to = "收件人";
- $mail->AddAddress($to);
- $mail->Subject = "本測試標題";
- $mail->Body = "<h1>phpmail演示</h1>這是php點點通(<font color=red>www.phpddt.com</font>)對phpmailer的測試內容";
- $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //當郵件不支持html時備用顯示,可以省略
- $mail->WordWrap = 80; // 設置每行字符串的長度
- //$mail->AddAttachment("f:/test.png"); //可以添加附件
- $mail->IsHTML(true);
- if(!$mail->Send())
- {
- echo "郵件發送有誤 <p>";
- echo "郵件錯誤信息: " . $mail->ErrorInfo;
- exit;
- }
- else {
- echo "郵件發送成功!<br />";
- }
- ?>
其實也就在配置里加了
$mail->SMTPSecure = ‘ssl‘;//設置使用ssl加密方式登錄鑒權
$mail->Port = 465;
java 中配置代碼
- postoffice.implementation=ninja.postoffice.commonsmail.PostofficeCommonsmailImpl
- smtp.host=smtp.163.com
- smtp.port=465
- smtp.ssl=true
- smtp.user=tur21i@163.com
- smtp.password=7982e23
- smtp.debug=true
新聞熱點
疑難解答
圖片精選