主题: 无法通过php来发送邮件

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.7.8
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):mysql
- 使用的 Linux/BSD 发行版名称及版本号:centos 6 32bit
- 与您的问题相关的日志信息: 你虚拟域与你主机的DOMAINNAME是一致的
====

用php来自动发送邮件时,无法通过验证。原来使用0.7.3版时,就正常。不知道是不是根https有关?

回复: 无法通过php来发送邮件

http://www.moyeamedia.com/update-produc … l/test.php   测试页面。把测试页面里的邮件密码换成gmail.  yahoo.com能正常发送邮件,但换成iredmail的邮箱帐号就不行了,提示:
2014-09-17 11:02:08 Connection: opening to ssl://smtp.fomore.com:465, t=10, opt=array ( ) 2014-09-17 11:02:18 SMTP ERROR: Failed to connect to server: Connection timed out (110) 2014-09-17 11:02:18 SMTP connect() failed.
Fatal error: Uncaught exception 'phpmailerException' with message 'SMTP connect() failed.' in /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/class.phpmailer.php:1216 Stack trace: #0 /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/class.phpmailer.php(1059): PHPMailer->smtpSend('Date: Wed, 17 S...', '--b1_309e2fdc63...') #1 /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/class.phpmailer.php(966): PHPMailer->postSend() #2 /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/test.php(38): PHPMailer->send() #3 /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/test.php(10): smtp_mail(Array) #4 {main} thrown in /var/www/html/magento/update-product-info/include/PHPMailer/jony/mail/class.phpmailer.php on line 1216
求解????

回复: 无法通过php来发送邮件

我使用的是:PHPMailer  来发送邮件

<?php
$arr = array(
'email' => '123456@qq.com',
'title' => 'new',
'body' => 'net fsadfafd'
);
ini_set('display_errors','On');
error_reporting(E_ALL);

var_dump(smtp_mail($arr));

function smtp_mail ( $data = array() ) {
    require("./class.smtp.php");
    require("./class.phpmailer.php");
    if (!$data) return false;
    $mail = new PHPMailer(true);
    $mail->IsSMTP(); // send via SMTP
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->SMTPSecure = "ssl";
    $mail->Host = '199.175.49.209';//"67.23.190.123"; // SMTP servers
    $mail->Port=587;
    $mail->Username = 'support@leawo.com';//"contact@app.com"; // SMTP username 注意:普通邮件认证不需要加 @域名"contact@app.com"
    $mail->Password = '123456';//"123456"; // SMTP password"123456"
    $mail->From = 'support@leawo.com';//'contact@app.com'; // 发件人邮箱
    $mail->FromName = 'support@leawo.com'; // 发件人
    $mail->CharSet = "utf-8";//"GB2312"; // 这里指定字符集!
    $mail->Encoding = "base64";
    $mail->AddAddress($data['email'],$data['email']); // 收件人邮箱和姓名
    $mail->IsHTML(true); // send as HTML
    $mail->Subject = $data['title'];  // 邮件主题
    $mail->Body = $data['body'];      // 邮件内容
    $mail->AltBody ="text/html";
    $mail->SMTPDebug = 4;
    $t = $mail->send();   
    var_dump($t);
    return $point_out;
}


把上面的邮箱换成gmail.  yahoo.com都能正常发送,换成iredmail就不行了,求高人指点

回复: 无法通过php来发送邮件

[root@mx ~]# telnet 199.175.49.209 25
Trying 199.175.49.209...
Connected to 199.175.49.209.
Escape character is '^]'.
220 mx.fomore.com ESMTP Postfix

500 5.5.2 Error: bad syntax


[root@mx ~]# telnet 199.175.49.209 587
Trying 199.175.49.209...
Connected to 199.175.49.209.
Escape character is '^]'.
220 mx.fomore.com ESMTP Postfix

能通过端口连接上去

回复: 无法通过php来发送邮件

像这种情况,说明iredmail不能通过smtp验证?而不是PHP代码的问题

6 最后由 cityhunter (2014-09-18 18:01:06) 编辑

回复: 无法通过php来发送邮件

因為iredmail 預設只允許SMTPS 發信,
你要把postfix main.cf 關掉 #smtpd_tls_auth_only = yes
就可以透過25 port發信了

回复: 无法通过php来发送邮件

cityhunter 写道:

因為iredmail 預設只允許SMTPS 發信,
你要把postfix main.cf 關掉 #smtpd_tls_auth_only = yes
就可以透過25 port發信了


你说的这种方法试过,没用的。把这个参数设成no   foxmail都不能发邮件了,试过很多办法,在网上找了很多资料,测试了很多方法,都不行,邮件服务器的设置问题,最后用了第三方的企业邮箱解决

回复: 无法通过php来发送邮件

在网上找了很多资料,测试了很多方法,都不行,邮件服务器的认证问题,一直不能通过认证。
最后用了第三方的企业邮箱解决