2015-06-11 2 views
0

Я использую yii mail расширение swiftmailer для отправки почты. Когда я использую это расширение электронной почты вместе с проверкой ccaptcha в той же форме, почта не отправляется. Когда она будет использоваться сама по себе без проверки captcha отправляет электронную почту. Мне нужно отправить электронное письмо с использованием этого расширения вместе с проверкой ccaptcha в yii.Yii swift mailer не отправляю письмо

для электронной почты:

$subjek="verifymail";  
$from="[email protected]"; 
$getEmail="[email protected]"; 
$message= new YiiMailMessage;   
$message->subject=$subjek;  
$message->from=$from; 
$message->setBody($activationlink, 'text/html'); 
$message->addTo($getEmail); 
Yii::app()->mail->send($message); 
+0

Будет лучше, если вы добавите свой код здесь, что вы написали в своем действии контроллера, который отправляет почту, а также как вы обрабатываете свой captcha –

+0

для captcha Я использовал проверку ccaptcha в юй –

ответ

0

Я думаю, что вам не хватает порта и размещение информации в вашем коде, если вы не показали весь свой код, см примера here

public function actionViewTest() { 

// Render view and get content 
// Notice the last argument being `true` on render() 
$content = $this->render('viewTest', array(
    'Test' => 'TestText 123', 
), true); 

// Plain text content 
$plainTextContent = "This is my Plain Text Content for those with cheap emailclients ;-)\nThis is my second row of text"; 

// Get mailer 
$SM = Yii::app()->swiftMailer; 

// Get config 
$mailHost = 'mail.example.com'; 
$mailPort = 25; // Optional 

// New transport 
$Transport = $SM->smtpTransport($mailHost, $mailPort); 

// Mailer 
$Mailer = $SM->mailer($Transport); 

// New message 
$Message = $SM 
    ->newMessage('My subject') 
    ->setFrom(array('[email protected]' => 'Example Name')) 
    ->setTo(array('[email protected]' => 'Recipient Name')) 
    ->addPart($content, 'text/html') 
    ->setBody($plainTextContent); 

// Send mail 
$result = $Mailer->send($Message); 
} 

Если ваш хост Gmail , поместить порт 587 или 465

$mail->Port = 587; or $mail->Port = 465; 

here вопрос, почти похожий на ваш вопрос

Смежные вопросы