频道栏目
首页 > 资讯 > E-mail > 正文

PHP配置了sendmail,细节如下,为什么还是不能成功发送邮件?

16-01-08        来源:[db:作者]  
收藏   我要投稿
操作系统:windows.
相关配置信息:
*************************************php.ini*************************************************
[mail function]
; For Win32 only.
SMTP = smtp.qq.com
smtp_port = 465

;For Win32 only.
sendmail_from = rrrrrise@hotmail.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path ="D:/Install/sendmail/sendmail.exe -t"

***************************************sendmail.ini**********************************************
smtp_server=smtp.qq.com
; smtp port (normally 25)
smtp_port=465

auth_username=9等等等等6@qq.com
auth_password=M省略x.7     //密码有符号可以吧

force_sender=9等等等等6@qq.com

*************************************测试脚本******************************************
<?php
$now = date("Y-m-d h:i:s");
$from_name = '测试寄件人';
$from_email =
$headers = 'From: $from_name <$from_email>';
$body = '嗨, \n 这是一封测试邮件来自 $from_name <$from_email>.';
$subject = '[$now] 测试邮件发送';
$to = 'rrrrrise@hotmail.com';
if (mail($to, $subject, $body, $headers)) {
echo "success!";
} else {
echo "fail…";
}
?>
一直是fail
调试信息:
14/08/25 17:56:39 ** Connecting to smtp.qq.com:465
14/08/25 17:56:40 ** Disconnected.
……
14/08/25 17:56:40 ** Socket Error # 10060<EOL>Connection timed out.
2014-08-25 18:05 不建议改动php.ini配置

可以采用 phpmailer类,来做邮件发送,这也是很多PHP程序所采用的一个类发送,你做出来的程序,给别人用或者开发,别人也跟着修改php.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
require(ROOT.'/class/phpMailer.class.php');//邮件发送类
/**
 * 发送邮件
 * @param  string $to        接收人邮件地址
 * @param  string $title     邮件标题
 * @param  string $contents  邮件内容
 * @param  string $type      判断是否要加附件
 * @param  string $accessory 附件的名字
 * @return                   成功返回true,失败返回错误信息
 */
function sendEmail($to,$title,$contents,$type '',$accessory =''){
    $mail new PhpMailer(true);
    $mail->IsSMTP();
    $mail->CharSet ="UTF-8";//编码
    $mail->Debugoutput = 'html';
    $mail->Host = T_SMTP_SERVER;//HOST 地址
    $mail->Port = 25;//端口
    $mail->SMTPAuth = true;
    $mail->Username = T_SMTP_LOGIN;//用户名
    $mail->Password = T_SMTP_PASSWORD;//密码
    $mail->SetFrom(T_SMTP_FROM,T_SMTP_FROM_NAME);//发件人地址, 发件人名称
    $mail->AddAddress($to);//收信人地址
    //$mail->Subject = "=?utf-8?B?" . <a href="https://www.baidu.com/s?wd=base64_encode&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dBuHbvPW9hmvnzP1f1mHFh0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EP1fYPHRsn1DdPHRYPWD4nWDz" target="_blank" class="baidu-highlight">base64_encode</a>() . "?=";
    if (!empty($type)) {
     $mail->AddAttachment($type,$accessory); // 添加附件,并指定名称 
    }
    $mail->Subject = $title;//邮件标题
    $mail->MsgHTML($contents);
        if ($mail->Send()){
           return true;
        }else{
           return $mail->errorMessage();
        }
    }
相关TAG标签
上一篇:PHP 特殊方法 __set()、__get()、__isset() 与 __unset()
下一篇:Struts的Token(令牌)机制解决表单重复提交的问题
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站