Ошибка smtp error data not accepted

I’m trying to figure out this issue for 6 hours. But there is nothing to make sense. Here is the scenario; There is a well formatted HTML template.

$mail_body = '
    <b>Message Num :</b> 769<br />
    <b>Message Date :</b> 2013-04-08 09:03:21<br />
    <b>Name :</b> John Doe<br />
    <b>Phone :</b> 123456789<br />
    <b>E-mail :</b> abcdf@somedomain.com<br />
    <b>Message :</b> Here is the message info<br />
';

Here is the array of recipients’ mails;

$recipients = array("abc@something.com","xyz@somtehing.com");

Everything looks fine and email ready to send.Here is the phpmailer config;

$mail = new PHPMailer(); 
$mail->IsSMTP();
$mail->From = "noreply@something.com"; 
$mail->FromName = "TEST";
$mail->WordWrap = 50;

foreach($recipients as $mail_add) {
    $mail->AddAddress($mail_add);
}
$mail->IsHTML(true);
$mail->Subject = "TEST Subject";
$mail->Body = $mail_body;
if(!$mail->Send()) {
    echo $mail->ErrorInfo;
} else { 
        echo "Mail sent...";
}

Everything is same when I test it. But sometimes email was sent. Sometimes it was not sent. Give me the following error : The following SMTP Error: Data not accepted.

I hope I explained

asked Apr 8, 2013 at 13:14

Yasin Yörük's user avatar

12

your server dosen’t allow different sender and username
you should config: $mail->From like $mail->Username

pb2q's user avatar

pb2q

58.4k19 gold badges146 silver badges147 bronze badges

answered Jan 2, 2014 at 16:54

J Ha's user avatar

J HaJ Ha

1,17212 silver badges16 bronze badges

7

set phpmailer to work in debug to see the «real» error behind the generic message ‘SMTP Error: data not accepted’ in our case the text in the message was triggering the smtp server spam filter.

  $email->SMTPDebug = true;

answered Feb 4, 2016 at 9:46

zzapper's user avatar

zzapperzzapper

4,6835 gold badges48 silver badges45 bronze badges

1

For AWS users who work with Amazon SES in conjunction with PHPMailer, this error also appears when your «from» mail sender isn’t a verified sender.

To add a verified sender:

  1. Log in to your Amazon AWS console: https://console.aws.amazon.com

  2. Select «Amazon SES» from your list of available AWS applications

  3. Select, under «Verified Senders», the «Email Addresses» —> «Verify a new email address»

  4. Navigate to that new sender’s email, click the confirmation e-mail’s link.

And you’re all set.

Uwe Keim's user avatar

Uwe Keim

39.3k56 gold badges174 silver badges291 bronze badges

answered Aug 29, 2014 at 1:21

Jonathan LeRoux's user avatar

2

Interestingly, I had the same exact issue and for me the problem was that my connection was timing out. To be able to see more details on my connections, I added $mail->SMTPDebug = 4; to my phpmailer (look up how to capture the debug since the default output function is echo).

Here’s the result:

SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is ""
SMTP -> get_lines(): $data is ""
SMTP -> get_lines(): timed-out (10 seconds)
SMTP -> FROM SERVER:
SMTP -> ERROR: DATA not accepted from server: 

The default timeout is set to 10 seconds. If your app can support more, add this line to your phpmailer:

$mail->Timeout = 20;

Nicolas Raoul's user avatar

Nicolas Raoul

58.4k58 gold badges221 silver badges370 bronze badges

answered Mar 8, 2017 at 16:22

phoenix's user avatar

phoenixphoenix

1,60120 silver badges11 bronze badges

3

Over a certain message of size, it messes up the content when setting through $mail->Body.

You can test it, if it works well with small messages, but doesn’t work with larger (over 4-6 kB), then this is the problem.

It seems to be the problem of $mail->Body, so you can get around this by setting the HTML body manually via $mail->MsgHTML($message). And then you can try to only add the non-html body by $mail->AltBody.

Hope that I could help, feel free to provide more details, information.

answered Apr 12, 2013 at 15:36

Adam Szabo's user avatar

Adam SzaboAdam Szabo

11.3k18 gold badges64 silver badges100 bronze badges

1

I was using just

$mail->Body    = $message;

and for some sumbited forms the PHP was returning the error:

SMTP Error: data not accepted.SMTP server error: DATA END command failed Detail: This message was classified as SPAM and may not be delivered
SMTP code: 550

I got it fixed adding this code after $mail->Body=$message :

$mail->MsgHTML = $message;
$mail->AltBody = $message;

answered Mar 22, 2018 at 17:00

André A.'s user avatar

3

Try to set the port on 26, this has fixed my problem with the message «data not accepted».

answered Dec 5, 2014 at 15:06

Matteo's user avatar

We send email via the Gmail SMTP servers, and we get this exact error from PHPMailer sometimes when we hit our Gmail send limits.

You can check if it’s the same thing happening to you by going into Gmail and trying to manually send an email. In our case that displays the more helpful error message about sending limits.

https://support.google.com/a/answer/166852?hl=en

answered Jul 18, 2017 at 6:08

brismuth's user avatar

brismuthbrismuth

35.7k3 gold badges32 silver badges37 bronze badges

I was hitting this error with phpMailer + Amazon SES. The phpMailer error is not very descriptive:

2: message: SERVER -> CLIENT: 554 Transaction failed: Expected ';', got ""
1: message: 
2: message: SMTP Error: data not accepted.

For me the issue was simply that I had the following as content type:

$phpmailer->ContentType = 'text/html; charset=utf-8rn';

But that it shouldn’t have the linebreak in it:

$phpmailer->ContentType = 'text/html; charset=utf-8';

… I suspect this was legacy code from our older version. So basically, triple check every $phpmailer setting you’re adding — the smallest detail counts.

answered Feb 26, 2019 at 14:37

Woody Hayday's user avatar

First you better set debug to TRUE:

$email->SMTPDebug = true;

Or temporary change value of public $SMTPDebug = false; in PHPMailer class.

And then you can see the full log in the browser.
For me it was too many emails per second:

...
SMTP -> FROM SERVER:XXX.XX.XX.X Ok
SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "XXX.XX.XX.X Requested action not taken: too many emails per second "
SMTP -> get_lines(): $data is "XXX.XX.XX.X Requested action not taken: too many emails per second "
SMTP -> FROM SERVER:XXX.XX.XX.X Requested action not taken: too many emails per second
SMTP -> ERROR: DATA command not accepted from server: 550 5.7.0 Requested action not taken: too many emails per second
...

Thus I got to know what was the exact issue.

Nicolas Raoul's user avatar

Nicolas Raoul

58.4k58 gold badges221 silver badges370 bronze badges

answered May 9, 2019 at 11:52

Sadee's user avatar

SadeeSadee

2,98235 silver badges36 bronze badges

I was experiencing this same problem. In my instance the send mail was timing out because my Exchange server was relaying email to a server on the internet. That server had exceeded it’s bandwidth quota. Apparently php mailer has some built in timeout and it wasn’t long enough to see the actual message.

answered Nov 19, 2013 at 2:50

geekinit's user avatar

geekinitgeekinit

1,3452 gold badges14 silver badges17 bronze badges

In my case in cpanel i have ‘Register mail ids’ option where i add my email address and after 30 minutes it works fine with simple php mail function.

answered Feb 7, 2019 at 13:15

Dinesh Gurjar's user avatar

If you are using the Office 365 SMTP gateway then «SMTP Error: data not accepted.» is the response you will get if the mailbox is full (even if you are just sending from it).

Try deleting some messages out of the mailbox.

answered Mar 6, 2019 at 9:06

beingalex's user avatar

beingalexbeingalex

2,4064 gold badges32 silver badges71 bronze badges

In my case the problem was with the content of mail. When I changed content to simpler content without HTML, it worked. But after updating the phpmailer everything solved.

answered Mar 7, 2019 at 12:32

NightOwl's user avatar

NightOwlNightOwl

3292 silver badges20 bronze badges

in my case I was using AWS SES and I had to verify both «FromEmail» and «Recipient». Once done that I could send without problems.

answered Feb 5, 2020 at 4:04

Gabriel Cortes's user avatar

Mailgun sanbox error

With $PHPMailer->SMTPDebug = true; I found out that when using the mailgun sandbox domain, the email has to be added to an authorized recipients list (which is on the right panel of the sandbox domain overview)

answered Jun 1, 2021 at 7:25

Samuel Gfeller's user avatar

It happen too, when you used stripslashes or addslashesh or real_escape_string.

Avoid these things inside email body, when your email execution code completed then you can add these lines in bottom.

answered Mar 2, 2022 at 15:29

Saif Warsi's user avatar

0

What’s Causing This Error

This error typically indicates that the «From» email address does not match the SMTP username.

It may be commonly visible when using third-party plugins that use their email addresses by default to send emails, and in these instances, the email address will not match the SMTP username.

Solution — Here’s How To Resolve It

The user may need to ensure that the «From» email address matches the SMTP username to resolve this issue. The default parameters may not force this setting; in these cases, the user may need to add the required configuration to force the email address to match the SMTP user name.

/public/img/default_profile_50.png

Статья была полезной?

Если сообщение не было доставлено получателю, то ему будет присвоен один из следующих статусов:

  • Отменено/Запрещено — если отправка сообщения ограничена со стороны внутреннего функционала GetCourse. Например, пользователь забанен, отписался от категории или перестал удовлетворять условию рассылки.
  • Ошибка — если сообщение было отклонено почтовым сервером. В таком случае в аккаунт поступит отчет с текстовым описанием ошибки. Проанализировав ошибку, можно понять причину, по которой сообщение не было доставлено.

В статье разберем основные виды ошибок при отправке email-рассылок и рекомендации по работе с ними.

<h4>Пример возвращенной ошибки. В деталях ошибки видим, что почтовый ящик пользователя был переполнен.</h4>

Пример возвращенной ошибки. В деталях ошибки видим, что почтовый ящик пользователя был переполнен.

Ссылка на это место страницы:
#main

Текстовое описание одной и той же ошибки может отличаться в зависимости от почтового сервиса, который ее возвращает. Например ошибки:

  • Mailbox does not exist. We do not relay
  • No such user!

Означают, что эл. адрес пользователя не существует.

В статье мы перечислили известные описания ошибок и условно поделили их на несколько категорий:

  • Ошибки в названии электронных ящиков
  • Ошибки в названии домена или его настройках
  • Почтовый ящик пользователя переполнен или заблокирован
  • Попадание в спам на почтовом сервисе
  • Грейлистинг (серый список)
  • Ошибки, связанные с неправильной настройкой доменной почты
  • Попадание IP-адреса в черный список

Чтобы быстро найти значение вашей ошибки в статье, воспользуйтесь поиском по странице (ctrl+F). Для этого введите значение ошибки, как показано в слайдере ниже:

Ссылка на это место страницы:
#incorrect_address

Примеры ошибок:

  • Mailbox does not exist. We do not relay
  • No such user!
  • Unknown user
  • Recipient address rejected: User unknown in local recipient table
  • The email account that you tried to reach does not exist
  • sorry, no mailbox here by that name
  • no mailbox by that name is currently available
  • Requested action not taken: mailbox unavailable
  • Message was not accepted — invalid mailbox
  • Bad recipient address syntax
  • Bad address mailbox syntax
  • No correct recipients
  • We do not relay without RFC2554 authentication

Рекомендации:
Попробуйте связаться с получателем альтернативным способом связи, чтобы уточнить корректный электронный адрес. Затем поменяйте email в карточке. Как это сделать, смотрите в слайдере:

Ссылка на это место страницы:
#receive

Ссылка на это место страницы:
#specific

Ссылка на это место страницы:
#no_connection

  • MX lookup failed for […]

Данная ошибка указывает на проблемы с MX-записью домена, на который отправлялось письмо, либо по каким-то причинам не удалось проверить его MX-запись. Возможно, при регистрации пользователь указал некорректный адрес почты. Повторные попытки отправки сообщений при получении данной ошибки не производятся.

Если не удалось связаться с почтовым сервером, то вернутся следующие ошибки:

  • Called MAIL FROM without being connected
  • SMTP connect() failed
  • RCPT TO command failed

Причины и рекомендации:

  • Опечатки в электронных адресах
  • Ограничения со стороны корпоративных доменов
  • Общие рекомендации по базе электронных адресов

Ссылка на это место страницы:
#errors

При регистрации пользователь может указать электронный адрес с опечаткой. Сообщение на такой адрес доставить не получиться. Наиболее часто встречающимися опечатками являются:

  • mail.ri — вместо mail.ru
  • gmail.ru — вместо gmail.com
  • yndex.ru — вместо yandex.ru

Рекомендации:

Периодически проверять базу пользователей на опечатки в электронных адресах и менять им почту.

Обратите внимание: электронная почта пользователя указана корректно, если она подтверждена. То есть чем больше % пользователей в вашей клиентской базе, которые подтвердили свою почту, тем меньше будет ошибок в адресах при отправке рассылок «по адресам, где дано разрешение на рассылки». И соответственно, выше доставляемость сообщений.

Ссылка на это место страницы:
#corp

Корпоративные ящики — это почтовые ящики с доменами, принадлежащими университетам, магазинам, государственным предприятиям и предназначенные только для их сотрудников. Например, @hh.ru.

Корпоративные ящики чаще всего имеют свои почтовые сервера, индивидуальные спам-фильтры или другие настройки, которые могут влиять на доставляемость сообщений.

Рекомендации:

  • Самостоятельно связаться с владельцами корпоративного домена, привести пример ошибки и уточнить, почему ваши сообщения не принимаются.
  • Если пользователей с таким доменом в аккаунте немного, то наиболее оптимальным решением будет узнать у пользователя альтернативную почту на более популярном сервисе (gmail.com, yandex.ru, mail.ru) и сменить ее в карточке пользователя.

Ссылка на это место страницы:
#popular

В качестве электронных почт пользователей рекомендуем использовать наиболее популярные почтовые сервисы, такие как mail.ru, gmail.com или yandex.ru. Это очень распространённые и надёжные почтовые сервисы с высокой доставляемостью сообщений.

Важно: Для снижения рисков попадания рассылок в спам отправляйте рассылки «по адресам, где дано разрешение на рассылки». Такие пользователи предоставили прямое согласие на получение рассылок, а их адреса точно не содержат ошибок. Поэтому важно не только собирать базу качественных электронных адресов, но и подтверждать их с помощью письма DOI.

Ссылка на это место страницы:
#temp

Также не рекомендуем использовать в качестве электронных адресов временные почтовые ящики. Временный ящик — ящик, который не требует регистрации и позволяет принимать электронные письма, которые будут удалены через определенный срок. Например, @yopmail.com или @maildrop.cc.

Как правило, такие ящики обладают рядом ограничений. Например, могут не поддерживать html-версию письма или не восприниматься почтовыми службами как надежные получатели, так как не принадлежат реальным пользователям. Поэтому отправка на них рассылок может привести к снижению репутации отправителя, а, следовательно, снизить доставляемость ваших сообщений.

Важно: вход во временные ящики осуществляется без пароля, поэтому их содержимое может просмотреть любой пользователь. Подобные электронные почты не рекомендуется использовать в качестве почт пользователей и сотрудникам (например, для тестирования).

Рекомендации:

Отписывать от рассылок или удалять из базы пользователей с временными почтами.

Ссылка на это место страницы:
#overflowing_box

Примеры ошибок, возвращающихся при отправке на переполненные ящики:

  • Mailbox size limit exceeded.
  • Mailbox size exceeded
  • User is overquota
  • The email account that you tried to reach is over quota

Примеры ошибок, возвращающихся при отправке на заблокированные ящики:

  • Mailbox […] is locked due to inactivity for more than […] months
  • Аccess to this account (user) […] is disabled
  • Mailbox is disabled

Причины:

Подобные ошибки означают, что в почтовом ящике получателя нет места, чтобы принять ваше сообщение. Чаще всего это происходит потому, что получатель редко пользуется ящиком и ящик переполняется рассылками. Подобные адреса также могут быть преобразованы в спам-ловушки, отправка на которые приводит к значительному ухудшению репутации отправителя.

Ссылка на это место страницы:
#disabled

Рекомендации:

Попробуйте связаться с получателем альтернативным способом связи и сообщить о проблеме. Если связаться не удается, вы можете отписать пользователя от получения рассылок. Рекомендуется периодически отписывать от рассылок пользователей, которые не читают ваших сообщений.

Ссылка на это место страницы:
#spam

Примеры попадания в спам:

  • IP […] Our system has detected an unusual rate of unsolicited mail originating from your IP address. To protect our users from spam, mail sent from your IP address has been temporarily rate limited — такая ошибка возвращается почтовым сервисом Gmail в случае если Google заподозрил отправку слишком большого числа подозрительных писем (спама) с IP адреса отправителя. В этом случае Google включает временное ограничение на количество принимаемых писем.
  • Message rejected under suspicion of SPAM
  • Client host […] blocked using spamsource.mail.yandex.net
  • Blocked by spam statistics
  • 550 spam message discarded/rejected

Причины:

При отправке сообщений из аккаунта вероятнее всего не были соблюдены рекомендации для высокой доставляемости. Например, не производился прогрев отправляющего домена или велись рассылки по базе пользователей, которые не давали своего согласия на их получения.

Ссылка на это место страницы:
#graylisting

Примеры ошибок:

  • Greylisting in action, please come back later
  • Greylisted, try again after some time
  • Greylisted, try again in 180 seconds
  • Sorry, the service is currently unavailable. Please come back later
  • Temporary local problem — please try later
  • Try again later

Грейслистинг (серые списки) — это способ автоматической блокировки спама. Принцип работы данного способа заключается в следующем: если почтовому сервису кажется подозрительным принимаемое им письмо, то он может не принять его и попросить переотправить сообщение позже.

Рекомендации:

На платформе GetCourse подобные запроса распознаются и письмо переотправляется автоматически позже. Спамерское программное обеспечение в таких случаях, обычно, не пытается переотправить письмо, и их сообщения не доходят.

Однако если письмо после 5 попыток переотправки снова вернулось с ошибкой, система фиксирует текст ошибки и больше не делает попыток переотправки. В этом случае письмо можно переотправить через некоторое время вручную.

Ссылка на это место страницы:
#mail_settings

  • non-local sender verification failed — обычно такая ошибка возвращается почтовым сервисом Gmail или Mail.ru. При появлении данной ошибки необходимо проверить корректность SPF, DKIM и MX в DNS-зоне домена, с которого осуществляется отправка рассылок.
  • Can’t verify […] sender. Check your DNS configuration — при появлении данной ошибки необходимо проверить корректность SPF и DKIM в DNS-зоне домена, с которого происходит отправка почты.
  • sender domain SPF exact match mandatory for IP […]ошибка в SPF-записи домена, с которого происходит отправка письма. Необходимо проверить корректность SPF-записи, или что присутствует только одна SPF-запись.
  • This message was not accepted due to domain […] owner DMARC policy (RFC 7489) — сообщение было заблокировано из-за строгой политики DMARC почтового сервиса. Подробнее о настройке DMARC на GetCourse, читайте в отдельной статье.

Ссылка на это место страницы:
#IP_block

  • rejected because IP[…] is in a blacklist-dns at […]
  • Access denied, banned sending IP […]
  • Connection closed. IP […] is listed in Blacklist
  • [E-mail] blacklisted by […]

При получении подобных ошибок обратитесь к нам в техническую поддержку для дополнительной консультации.

Мы разобрали типичные ошибки при отправке email рассылок. Если ошибки возникают при отправке другими транспортами, рекомендации по их решению вы найдете в следующих статьях:

  • Telegram
  • SMS
  • WhatsApp Business
  • ВКонтакте
  • Viber
  • Facebook*

*принадлежит компании Meta, признанной экстремистской организацией и запрещенной в Российской Федерации.

  • ZnicH

email

  • Электронная почта

Почему почта от Яндекса не дает рассылать письма?

Привет

Имеется почта доменная на яндексе, DKIM подключен.
Сайт шлет письма с созданием заказа на сайте/регистрацией/восстановление пароля

В итоге бывает Яндекс выдает бан на 24 часа за спам. В чем может быть проблема?

SMTP Error: data not accepted.SMTP server error: DATA END command failed Detail: [2] Message rejected under suspicion of SPAM; https://ya.cc/1IrBc 1499508144-mO8p8wojGx-2Nq8KJrj SMTP code: 554 Additional SMTP info: 5.7.1


  • Вопрос задан

    более трёх лет назад

  • 3657 просмотров


Комментировать

Пригласить эксперта


Ответы на вопрос 1

sim3x

Не спамьте и вам будет дозволено

  • спама нет, почта отправляется только пользователям. Примерно 200 писем в сутки, 150 создание заявки на сайте, остальное регистрация и восстановление

  • sim3x

    Григорий Byrger:

    Message rejected under suspicion of SPAM;

    меня убеждать не нужно — убедите что не спамите яндекс

  • sim3x: в том то и дело что спам блокировка странная. Яндекс пишет что на 24 часа.
    Некоторым отправляются, внутри домена отправляются. на mail.ru через раз, на gmail очень редко

  • CityCat4

    Видимо яндекс считает, что письма идут слишком часто. Либло ему не нравится слово «пароль» в письмах. Пишите в саппорт (если удастся достучаться :D)


Похожие вопросы


  • Показать ещё
    Загружается…

13 июн. 2023, в 17:25

5000 руб./за проект

13 июн. 2023, в 17:21

18000 руб./за проект

13 июн. 2023, в 17:10

3000 руб./за проект

Минуточку внимания

This error occurs if you’re sending via SMTP. The SMTP server rejects the mail for several reasons:

Your server doesn’t allow different sender and usernames

Some servers require that the From email address is the same as the email address used to authenticate. Check your from-name and match it to the username you use to log in to your SMTP server.

The file size of your message is too large

Some servers reject a message if the body is too large. HTML emails in general are bigger than normal text messages but you should try to decrease the size by removing some content or disabling embedded images.

The receiver is blacklisted or blocked

Sometimes certain email addresses are blocked and to prevent getting blacklisted the server rejects your message. The best resolution is to choose a different delivery method.

It’s a temporary issue

Sometimes the email server responds with this error if some limits have been reached or you’re sending “too fast”. Please pause your campaigns for a while and try again later.

If you are sending via Amazon SES you must have verified the from, reply-to, and bounce address you are using in your mailings.

Понравилась статья? Поделить с друзьями:
  • Ошибка slui exe 0x2a 0xc004d302
  • Ошибка smtp error could not connect to smtp host
  • Ошибка slui exe 0x2a 0xc0020036
  • Ошибка smtp error could not authenticated
  • Ошибка slui exe 0x2a 0xc0000022