Постфикс: Ошибка отправки почты. В соединении отказано

У меня установлен сервер Postfix в моем дроплете Digitalocean вместе с моим ASP.Net WebApi в док-контейнере.

Когда я пытаюсь отправить почту из своего приложения ASP WebAPI, я получаю В соединении отказано исключение.

Вот мой код С#

        SmtpClient smtpClient = new SmtpClient("dev.mydomain.net", 25);

        smtpClient.Credentials = new System.Net.NetworkCredential("postfix_user@dev.mydomain.net", "passwd");
        //smtpClient.UseDefaultCredentials = true;
        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtpClient.EnableSsl = true;

        MailMessage mail = new MailMessage();
        mail.IsBodyHtml = true;
        mail.From = new MailAddress(mailFrom, "MyApp");
        mail.To.Add(new MailAddress(mailTo));
        mail.Subject = subect;
        mail.Body = body;
        mail.Headers.Add("Message-ID", Guid.NewGuid().ToString());

        await smtpClient.SendMailAsync(mail);

/var/log/mail.log не имеет ни одной строки о попытке подключения, поэтому я предполагаю, что мой запрос никогда не достиг сервера postfix.

Вот мой файл конфигурации постфикса:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no
#delay_warning_time = 4h
readme_directory = no
compatibility_level = 2

smtpd_tls_cert_file=/etc/letsencrypt/live/dev.mydomain.net/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/dev.mydomain.net/privkey.pem
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = dev.mydomain.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost.$mydomain, localhost, $myhostname
relayhost =
mynetworks = 127.0.0.0/8 172.0.0.0/8 10.0.0.0/8 myIpAddres 172.17.0.0/16 172.18.0.0/16
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

Я могу отправить письмо через echo "body of the email" | mail -s "subject line" myaddress@yahoo.com это работает.

Я перепробовал все возможные решения, которые нашел в Google, за последние два дня, но ни одно из них не сработало. Так что Вы моя последняя надежда 🙂
Пожалуйста помоги. Спасибо 🙂

РЕДАКТИРОВАТЬ 1
Если я сделаю telnet dev.mydomain.net 25 с другой капли, которая у меня есть, соединение успешно.

linux электронная почта postfix docker smtp

Стефан Вукович

1 ответ
1

Поиск «digitalocean port 25» выдает вероятная соответствующая документация:

SMTP-порт 25 заблокирован во всех дроплетах для новых учетных записей, чтобы предотвратить спам и другие злоупотребления нашей платформой.

Возможно, вы захотите подключиться к своему почтовому серверу через порт или IP-адрес, на который не распространяется общесервисная блокировка исходящего TCP-порта 25.

тревога

Добавить комментарий

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