Это работало на моем живом сервере до того, как внезапно перестал отправлять электронные письма.Вот ошибка, которую я получил:
220 smtp30.relay.iad3a.emailsrvr.com ESMTP - Раздел кода VA 18.2-152.3: 1 запрещает использование этой системы для нежелательной массовой электронной почты (спам) привет:250-smtp30.relay.iad3a.emailsrvr.com 250 ENHANCEDSTATUSCODES Не удалось отправить команду AUTH LOGIN.Ошибка: 554 5.7.1 проверка подлинности ограничена (Z1E / 233FC14) с: 554 5.7.1 проверка подлинности ограничена (Z1E / 233FC14) Обнаружена следующая ошибка SMTP: 554 5.7.1 проверка подлинности ограничена (Z1E / 233FC14) до: 503 5.5.1Неверная последовательность команд Обнаружена следующая ошибка SMTP: 503 5.5.1 Неверная последовательность данных команд: 503 5.5.1 Неверная последовательность команд Обнаружена следующая ошибка SMTP: 503 5.5.1 Неверная последовательность команд 221 2.7.0 Ошибка:Я тоже могу нарушать правила.Прощай.Обнаружена следующая ошибка SMTP: 221 2.7.0 Ошибка: я тоже могу нарушать правила.Прощай.Невозможно отправить письмо, используя PHP SMTP.Возможно, ваш сервер не настроен для отправки почты с использованием этого метода.
Если я запускаю его на локальном сервере, он отправляет электронную почту.Я даже попытался изменить порты на 587, и я все еще получил ошибку, и она не отправляет.В чем будет проблема в моем коде.Спасибо!
Вот мой код:
$from = "no-reply@sample.com";
$from_name = "Daily logs";
$config['smtp_host'] = 'ssl://secure.sample.com';
$config['smtp_user'] = 'no-reply@sample.com';
$config['smtp_pass'] = ********;
$config['smtp_port'] = '465';
$config['protocol'] = 'smtp';
$config['mailtype'] = 'html';
$config['validate'] = 'FALSE';
$message = $email_message['html'];
$CI->email->initialize($config);
$CI->email->from($from, $from_name);
$CI->email->to($email_message['to']);
$CI->email->subject("Sample - ".$email_message['subject']);
$path=$_SERVER["DOCUMENT_ROOT"];
$file = $path.'/tmp/sample_data/sample_data_'.strtotime(date("y-m-d", strtotime('-1 day'))).'.csv';
$CI->email->attach($file);
$CI->email->message($message);
if(@$CI->email->send()){
$return = (object) array('http_response_code' => 200);
}
else{
echo $CI->email->print_debugger();
}