Перво-наперво. Давайте проверим, что вы используете:
какой sendmail
Это должно повторить что-то вроде /usr/sbin/sendmail
Затем выполните тестовую строку, которая у вас была раньше, но добавьте флаг "-v" (без кавычек) перед командой sendmail. Он будет отображать всю связь между sendmail и почтовым сервером.
Предполагая, что вы не заблокировали активно порт 25, вам не нужны команды брандмауэра. Все, что нужно для отправки почты, это порт 25.
Но будьте готовы к тому, что Gmail вас заблокирует. Если он думает, что вы рассылаете спам, он может стать довольно неприятным.Если это плохо, подождите, пока вы не попытаетесь отправить почту на почтовый аккаунт o365!
Да. Это сообщение о том, что вы отправляете электронное письмо без какой-либо проверки отправителя. Ожидается, что у отправителя есть запись SPF или DKIM. Это настройка провайдера, а не настройка почтового MTA. Это совершенно другая игра с мячом и, по моему опыту, совершенно новый уровень боли.
Короче говоря: получатели почты стараются убедиться, что почта, которую они получают, исходит от проверенных отправителей. Отправители должны подтвердить, что они действительно могут отправлять сообщения от имени адреса электронной почты, с которого они якобы пришли. Это означает, что получатель будет сверяться с провайдером отправителя, чтобы получить ряд записей DNS, которые получатель может проверить.
Это далеко не тривиально, если вы отправляете на Gmail. Это означает настройку DNS-записей у вашего интернет-провайдера.
Это совершенно новый уровень сложности, и именно поэтому я использую sendmail только для отправки сообщений с моего сервера на свой собственный адрес электронной почты. Таким образом, отправляются такие вещи, как события cronlog или проблемы с сервером. Но для отправки электронной почты реальным пользователям я использую учетную запись O365.
Вы можете сделать все это в Linux, но не за 5 минут.