频道栏目
首页 > 程序开发 > Web开发 > PHP教程 > PHP高级 > E-mail > 正文
PHP配置了sendmail,细节如下,为什么还是不能成功发送邮件?
2016-01-08 10:22:59      个评论      
收藏   我要投稿

操作系统: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 send e-mail with attachment
下一篇:最后一页
相关文章
图文推荐

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

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