#php #email #yii #smtp #mandrill
#php #Адрес электронной почты #yii #smtp #mandrill
Вопрос:
Я использовал Mandrill для SMTP, и приведенный ниже код хорошо работает для меня в localhost. Но тот же код не работал, когда я размещал свой веб-сайт удаленно.
Отображается сообщение об ошибке
Пароль Smtp-> ошибка не принят с сервера 535. Неверные данные аутентификации.
Это мой код. Пожалуйста, помогите мне.
public function actionCreate()
{
$model=new Contacts;
if(isset($_POST['Contacts']))
{
$model->attributes=$_POST['Contacts'];
Yii::import('application.extensions.phpmailer.JPhpMailer');
$mail = new JPhpMailer;
$mail->IsSMTP();
$mail->Host = 'smtp.mandrillapp.com';
$mail->Port ='587';
$mail->SMTPAuth = true;
$mail->SMTPSecure="tls";
$mail->Username = 'xxx@gmail.com';
$mail->SMTPDebug = 1;
$mail->SMTPKeepAlive =true;
$mail->Password = 'tshb-mA19EdIvdQf2mO8KA';
$mail->SetFrom($_POST['Contacts']['email'], $_POST['Contacts']['email']);
$mail->Subject = 'New Mail Receiverd';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
$mail->MsgHTML("DASDSAD");
$msgBody="<div><ul>";
foreach($model->attributes as $key=>$value)
{
$msgBody.="<li>".$key." - ".$value."</li>";
}
$msgBody.="</ul></div>";
$mail->MsgHTML($msgBody);
$mail->AddAddress('xxx@gmail.com', 'xxx');
$ret=$mail->Send();
if($model->save())
print "<script type="text/javascript">";
print "alert('Thank you for contacting us.')";
print "</script>";
}
$this->render('create',array(
'model'=>$model,
));
}
Комментарии:
1. пожалуйста, не публикуйте дубликат одного и того же вопроса
Ответ №1:
Наиболее распространенная причина, по которой вы увидите это, заключается в том, что вы используете поставщика общего хостинга, который перенаправляет SMTP-соединения или не разрешает внешние SMTP-соединения.
Поэтому вместо подключения к smtp.mandrillapp.com возможно, вы подключаетесь к локальному почтовому серверу, который не распознает ваши учетные данные Mandrill. В нашей базе данных есть несколько общих шагов по устранению неполадок, которые мы рекомендуем выполнить, чтобы убедиться, что вы подключаетесь должным образом.
Если вы все еще видите проблемы, вы также можете связаться со службой поддержки напрямую, нажав на кнопку «Поддержка» в левом нижнем углу вашей учетной записи Mandrill.