2011-12-14 12 views
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 = ('[email protected]'); 
    Yii::app()->mail->send($message); 
} 

$message->addTo() GmailのIDを渡してからGmailに送信するとメールが届きます。 しかし、私は$message->addTo()で私のヤフーまたは他のIDを渡す場合私はメールを取得しないとエラーも表示されません。yiiからメールを送信

+0

:ここ

は、デリバリーに関するいくつかの他のリソースですyahooの他のアカウントであなたの迷惑メールフォルダをチェックしましたか? – Arfeen

+0

いつか受信箱に入ってきて、いつか迷惑メールになる – User1988

答えて

2

メールがに配信されている場合は、のアドレスがいくつかありますが、それ以外のコードは問題ではありません。それはおそらくあなたの切断です。

メール配信は複雑です。ほぼすべてのエンドポイント(Gmail、Yahooなど)には異なるスパムルールがあります。あなたが直面する最大の問題は、送信しているIPアドレスを「安全」と認識させることです。

私は、Yiiの送信エージェントとして、(Gmailのような)確立されたSMTPサーバーを使用してメールを送信することをお勧めしました。

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html http://www.engineyard.com/blog/2009/how-to-ensure-your-email-gets-delivered/

+0

ありがとう – User1988

関連する問題