Мы перешли с Comcast на Office 365 для отправки электронной почты из нашего веб-приложения. Я использую Zend_Mail_Transport_Smtp из ZF v1.12. После переключения с учетных данных Comcast на учетные данные Office 365 я не могу отправлять почту. Вот мой код …
$config = array('auth' => 'login',
'ssl' => 'tls',
'username' => 'office365username',
'password' => 'office365password',
'port' => 587);
$transport = new Zend_Mail_Transport_Smtp('smtp.office365.com', $config);
Попытка отправить письмо сейчас приводит к сообщению об ошибке ниже:
5.7.60 SMTP; Client does not have permissions to send as this sender
Я знаю, что эта учетная запись может отправлять сообщения. У меня есть несколько пакетных заданий с использованием PhpMailer, которые работают нормально. Должен быть какой-то параметр в Zend_Mail, который мне не хватает. Я действительно не хочу переписывать мою модель электронной почты, чтобы использовать PhpMailer, но у меня не хватает времени, чтобы решить эту проблему.
Я знал, что это было что-то глупое, и что я пойму это, как только отправлю вопрос. Проблема заключалась в том, что я пропустил фрагмент кода, который все еще устанавливал адрес для ответа в качестве старого адреса электронной почты Comcast. Похоже, что Office 365 это не понравилось, поэтому сервер отказался отправлять электронную почту. Изменение правильного адреса Office 365 решило проблему.
Извините за ответ на мой собственный вопрос, но, надеюсь, в будущем это поможет кому-то, кто столкнется с этой проблемой.
Других решений пока нет …