6

我正在尝试通过以下方式发送电子邮件 -

from : xyz@domain1.com  
reply-to : xyz@domain1.com  
to : abc@domain2.com  
cc : abc@domain3.com  

我的电子邮件正在发送到抄送中提到的地址(如果我将电子邮件替换为和抄送,则电子邮件将发送到中提到的地址)

出于某种原因,电子邮件没有发送到地址 abc@domain2.com。如果我使用 Outlook 或 gmail 手动将电子邮件发送到此地址,则实际上已发送电子邮件。我该如何调试这个问题?

我也检查了垃圾邮件/垃圾目录,那里没有电子邮件。我尝试使用 php mail() 函数以及 phpmailer 类。它们都返回 TRUE。可能是什么原因?请帮忙。

$mail->From = "xyz@domain1.com";   
$mail->AddReplyTo("xyz@domain1.com");  
$mail->AddAddress("abc@domain2.com");  
$mail->AddCC("abc@domain3.com");  
$mail->Subject = $subject;  
$mail->Body = $message;  

if(! $mail->Send()) {  
    echo "Message was not sent";  
    echo "Mailer Error: " . $mail->ErrorInfo;  
    exit; 
} 
4

3 回答 3

2
Try to set cofigurations beffore send (Gmail config):



    $mail = new Mailer();
    $mail->SMTPDebug = true;
    $mail->SMTPAuth = true;
    $mail->CharSet = 'utf-8';
    $mail->SMTPSecure = 'ssl';
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = '465';
    $mail->Username = 'your login here';
    $mail->Password = 'your password here';
    $mail->Mailer = 'smtp';
    $mail->From = 'form mail address';
    $mail->FromName = 'from name';
    $mail->Sender = 'form mail';
    $mail->Priority = 3;

    $mail->AddAddress('mail', 'admin name');
    $mail->AddReplyTo('replay to', 'admin name');
    $mail->Subject = 'subject';
    $mail->Body = 'some HTML message here';
    $mail->IsHTML(true);
    if(!$this->Send()) {
        print_r('error: '. $mail->ErrorInfo); // Show errors   
 }
    $mail->ClearAddresses();
    $mail->ClearAttachments();
于 2012-11-07T11:31:00.480 回答
1

如果您从一个电子邮件地址发送电子邮件,但针对不同的电子邮件地址(或域)进行身份验证,也会发生这种情况

将 $mail.setFrom() 设置为您对其进行身份验证的同一电子邮件。

于 2017-02-20T17:32:20.450 回答
0

检查您的服务器是否可以大声发送电子邮件 在我使用 plesk 的情况下,我也遇到了同样的情况,由于某种原因,我无法发送和发送电子邮件,直到我收到并发送电子邮件我更改了此配置并正常工作检查您是否使用发送邮件o qmail 如果是 qmail 你必须告诉 php mailer

于 2013-03-18T22:07:45.227 回答