Назад | Перейти на главную страницу

Ошибка SMTP 554 5.7.1 и 221 2.7.0

У меня есть выделенный сервер, который подключается к веб-хостингу для отправки писем по протоколу SMTP, но я получаю ошибки 554 5.7.1 и 221 2.7.0, и электронная почта не отправляется. Полный журнал SMTP ниже.

Это скрипт для отправки электронной почты, написанный на Perl:

    my $mail = "mail.bellakabelky.sk";
    my $pass = "secret";
    my $user = "mail\@bellakabelky.sk";
    my $to = "tomsk.slovak\@gmail.com";

    use Data::Dumper;
    use Net::SMTP;
    use Mail::Mailer qw(sendmail);

    my $smtp = Net::SMTP->new(
                       Host => $mail,
                       Port => '25',
                       Hello => 'dev.bellakabelky.sk',
                       Timeout => 30,
                       Debug   => 1,
                      );
    print Dumper($smtp);
    $smtp->auth($user,$pass);
    $smtp->mail($user);
    $smtp->to($to);
    $smtp->recipient($to);
    $smtp->data();
    $smtp->datasend("To: Tomsk <$to>\r\n");
    $smtp->datasend("From: Mail <$user>\r\n");
    $smtp->datasend("Return-Path: $user\r\n");
    $smtp->datasend("Reply-To: $user\r\n");
    $smtp->datasend("Subject: Subject\r\n");
    $smtp->datasend("\r\n");
    $smtp->datasend("hello");
    $smtp->dataend();
    $smtp->quit;

И я получаю 554 ошибки 5.7.1 и 221 2.7.0. Это журнал SMTP:

Net::SMTP>>> Net::SMTP(2.33)
Net::SMTP>>>   Net::Cmd(2.30)
Net::SMTP>>>     Exporter(5.71)
Net::SMTP>>>   IO::Socket::INET(1.35)
Net::SMTP>>>     IO::Socket(1.38)
Net::SMTP>>>       IO::Handle(1.35)
Net::SMTP=GLOB(0x51d1810)<<< 220 mail4-1.hostmaster.sk ESMTP Postfix
Net::SMTP=GLOB(0x51d1810)>>> EHLO dev.bellakabelky.sk
Net::SMTP=GLOB(0x51d1810)<<< 250-mail4-1.hostmaster.sk
Net::SMTP=GLOB(0x51d1810)<<< 250-PIPELINING
Net::SMTP=GLOB(0x51d1810)<<< 250-SIZE 104857600
Net::SMTP=GLOB(0x51d1810)<<< 250-ETRN
Net::SMTP=GLOB(0x51d1810)<<< 250-STARTTLS
Net::SMTP=GLOB(0x51d1810)<<< 250-AUTH PLAIN LOGIN
Net::SMTP=GLOB(0x51d1810)<<< 250-AUTH=PLAIN LOGIN
Net::SMTP=GLOB(0x51d1810)<<< 250-ENHANCEDSTATUSCODES
Net::SMTP=GLOB(0x51d1810)<<< 250 8BITMIME
$VAR1 = bless( \*Symbol::GEN1, 'Net::SMTP' );
Net::SMTP=GLOB(0x51d1810)>>> AUTH PLAIN bWFpbEBiZWxsYWthYmVsa3kuc2sAbWFpbEBiZWxsYWthYmVsa3kuc2sARXNob3AxMjNrYWJlbGt5
Net::SMTP=GLOB(0x51d1810)<<< 235 2.7.0 Authentication successful
Net::SMTP=GLOB(0x51d1810)>>> MAIL FROM:<mail@bellakabelky.sk>
Net::SMTP=GLOB(0x51d1810)<<< 250 2.1.0 Ok
Net::SMTP=GLOB(0x51d1810)>>> RCPT TO:<tomsk.slovak@gmail.com>
Net::SMTP=GLOB(0x51d1810)<<< 554 5.7.1 <mail@bellakabelky.sk>: Sender address rejected: Your mail account (mail@bellakabelky.sk) was compromised. Please change your password immediately after next login and contact technical support.
Net::SMTP=GLOB(0x51d1810)>>> RCPT TO:<tomsk.slovak@gmail.com>
Net::SMTP=GLOB(0x51d1810)<<< 554 5.7.1 <mail@bellakabelky.sk>: Sender address rejected: Your mail account (mail@bellakabelky.sk) was compromised. Please change your password immediately after next login and contact technical support.
Net::SMTP=GLOB(0x51d1810)>>> DATA
Net::SMTP=GLOB(0x51d1810)<<< 554 5.5.1 Error: no valid recipients
Net::SMTP=GLOB(0x51d1810)>>> To: Tomsk <tomsk.slovak@gmail.com>
Net::SMTP=GLOB(0x51d1810)>>> From: Mail <mail@bellakabelky.sk>
Net::SMTP=GLOB(0x51d1810)>>> Return-Path: mail@bellakabelky.sk
Net::SMTP=GLOB(0x51d1810)>>> Reply-To: mail@bellakabelky.sk
Net::SMTP=GLOB(0x51d1810)>>> Subject: Subject
Net::SMTP=GLOB(0x51d1810)>>>
Net::SMTP=GLOB(0x51d1810)>>> hello
Net::SMTP=GLOB(0x51d1810)>>> .
Net::SMTP=GLOB(0x51d1810)<<< 221 2.7.0 Error: I can break rules, too. Goodbye.
Net::SMTP=GLOB(0x51d1810)>>> QUIT
Net::SMTP: Unexpected EOF on command channel at (eval 187) line 49.

Честно не знаю, где может быть проблема, искал решение, но ничего не нашел.

Разбивка ошибок для полноты -

Net::SMTP=GLOB(0x51d1810)>>> RCPT TO:<tomsk.slovak@gmail.com>
Net::SMTP=GLOB(0x51d1810)<<< 554 5.7.1 <mail@bellakabelky.sk>: Sender address rejected: Your mail account (mail@bellakabelky.sk) was compromised. Please change your password immediately after next login and contact technical support.
Net::SMTP=GLOB(0x51d1810)>>> RCPT TO:<tomsk.slovak@gmail.com>
Net::SMTP=GLOB(0x51d1810)<<< 554 5.7.1 <mail@bellakabelky.sk>: Sender address rejected: Your mail account (mail@bellakabelky.sk) was compromised. Please change your password immediately after next login and contact technical support.

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

Net::SMTP=GLOB(0x51d1810)>>> DATA
Net::SMTP=GLOB(0x51d1810)<<< 554 5.5.1 Error: no valid recipients

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

Net::SMTP=GLOB(0x51d1810)>>> .
Net::SMTP=GLOB(0x51d1810)<<< 221 2.7.0 Error: I can break rules, too. Goodbye.

Язвительный ответ сервера, когда ваш клиент продолжает попытки отправить данные на сервер, даже если нет действительных получателей и он отклонил ваши DATA команда.