1
public function mailsend($name, $contact_no, $email,$website,$content,$subject,$address ) 
{
    $message        = new YiiMailMessage;
    $message->view  = 'viewfilenm';
    $message->setBody(array(), 'text/html');
    $body           = $message->message->getBody();
    /******  preg_replace :Perform a regular expression search and replace ******/
    $body           = preg_replace('/\[FNAME]/',$name,$body); 
    $body           = preg_replace('/\[CONTENT]/',$content,$body);
    $find           = array("[CONTACT_NO]"=>$contact_no,"[FNAME]"=>$name,"[EMAIL]"=>$email,"[ADDRESS]"=>$address);
    /****** strtr :Translate characters or replace substrings ******/
    $newstr         = strtr($content, $find);
    $body           = str_replace($content,$newstr,$body);
    $body           = preg_replace('/\[CONTACT_NO]/',$contact_no,$body);
    $body           = preg_replace('/\[EMAIL]/',$email,$body);
    $body           = preg_replace('/\[SUBJECT]/',$subject,$body);
    $body           = preg_replace('/\[WEBSITE]/',$website,$body);
    $message->message->setBody($body, 'text/html');
    $message->subject = $subject;
    $message->addTo($email);
    $message->from   = ('abc@abc.com');
    Yii::app()->mail->send($message);
}

如果我通过我的$message->addTo()gmail id 然后在 gmail 中我收到了邮件。但是如果我通过我的雅虎或其他身份,$message->addTo()那么我不会收到邮件,也不会显示错误。

4

1 回答 1

2

如果电子邮件被发送到某些地址而不是其他地址,则可能不是您的代码有问题。这可能是你的服务器。

电子邮件传递很复杂。几乎每个端点(Gmail、Yahoo 等)都有不同的垃圾邮件规则。您将面临的最大问题是让您发送的 IP 地址被识别为“安全”。

我在 Yii 中使用已建立的 SMTP 服务器(如 Gmail)作为我的发送代理发送电子邮件,这让我很幸运。

以下是有关可交付性的其他一些资源:

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html http://www.engineyard.com/blog/2009/how -确保您的电子邮件已送达/

于 2011-12-14T12:32:44.143 回答