Невозможно отправить электронную почту через SMTP, потому что «550 — реле не разрешено».Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно отправить электронную почту через SMTP, потому что «550 — реле не разрешено».

Сообщение Anonymous »

Я использую CakePHP для автоматической отправки электронных писем клиентам. Все работает отлично, но кажется, что некоторые получатели не получают наши электронные письма. Поэтому я решил использовать опцию SMTP для отправки электронных писем и направлять электронные письма через нашего провайдера электронной почты в Media Temple.
Однако при попытке отправить электронное письмо из учетной записи Media Temple я получаю сообщение об ошибке «550-реле не разрешено».
Похоже, что сервер Media Temple просто не позволяет мне отправлять через него почту.
Это странно, потому что я подтвердил, что имя пользователя и пароль, которые я использую, верны, и я могу отправлять почту через SMTP через него из моего клиента Macmail и почтового клиента iPhone. Я также подтвердил, что мои настройки электронной почты cakephp верны, поскольку я могу отправлять электронные письма через SMTP с учетной записью Gmail с точно такой же конфигурацией в cakephp.
Есть идеи, почему я получаю эту ошибку и как ее устранить?
Спасибо

Вот код, который обрабатывает отправку электронного письма. Я использую этот класс так же, как обычный EmailComponent, во многих различных контроллерах.

class CanadafindsEmailerComponent extends EmailComponent
{
...
function send($content = null, $template = null, $layout = null) {
if(!in_array(TECHY_MONITOR_EMAIL,$this->bcc) && is_array($this->bcc))
$this->bcc[]=TECHY_MONITOR_EMAIL;
else if (!in_array(TECHY_MONITOR_EMAIL,$this->bcc) && !is_array($this->bcc))
$this->bcc=array(TECHY_MONITOR_EMAIL);
if(DEVSITE){//commented-out code are settings for smtp with gmail, which works fine
$this->delivery = 'smtp';
$this->smtpOptions = array(
'port'=>'465',//'465',
'timeout'=>'30',//'30',
'auth' => true,
'host' => 'ssl://mail.thenumber.biz',//'ssl://smtp.gmail.com',
'username'=>USERNAME,//'USERNAME@gmail.com',
'password'=>SMTP_PASSWORD//,
);
$this->to=$this->correctFormatOn($this->to);
$this->bcc=$this->correctFormatOn($this->bcc);
$this->cc=$this->correctFormatOn($this->cc);
$this->replyTo=$this->correctFormatOn($this->replyTo);
$this->from=$this->correctFormatOn($this->from);
}
return parent::send($content,$template,$layout);
}
function correctFormatOn(&$email){
if(is_array($email)){
$copiedEmail=array();
foreach($email as $singleEmail){
$copiedEmail[]=$this->correctFormatOnSingle($singleEmail);
}
$email=$copiedEmail;
}else{
$email=$this->correctFormatOnSingle($email);
}
return $email;

}

function correctFormatOnSingle(&$email){
$subEmails=explode(",",$email);
$fixedSubEmails=array();
foreach($subEmails as $subEmail){
$fixedSubEmails[]=preg_replace('/

Подробнее здесь: https://stackoverflow.com/questions/119 ... -permitted
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»