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

Postfix может получать электронную почту, но не может ее отправлять

У меня был postfix, работающий на моей машине (поставляется с минимальным centos), но сегодня я настроил его для использования моего домена, например, это мое доменное имя example.com . Вот мой конфиг:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
header_checks = regexp:/etc/postfix/header_checks
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailbox_size_limit = 1073741824
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 10485760
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = example.com
myhostname = mail.example.com
mynetworks = 127.0.0.0/8
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relayhost = smtp.$mydomain
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
unknown_local_recipient_reject_code = 550

Мне нужна одна учетная запись электронной почты, чтобы иметь возможность отправлять электронные письма (получение пароля и т. Д.). Сегодня я где-то читал, что если вы создадите учетную запись unix, postfix распознает ее как адрес электронной почты, поэтому, если ваше имя пользователя учетной записи было ant ваша электронная почта будет ant@example.com.

Я проверил это и попытался отправить письмо по адресу ant@example.com и я успешно получил почту.

Когда я пытаюсь отправить электронное письмо со скриптом задачи Ant, я не могу подключиться:

Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: mail.example.com, port: 25; nested exception is: java.net.ConnectException: Connection timed out: connect 

Что мне здесь не хватает?

редактировать

Я могу подключиться к локальному хосту через Telnet:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix

Вам не хватает DNS. Либо mail.example.com должен разрешить 127.0.0.1 или вы должны добавить IP для mail.example.com в mynetworks.

У вас где-то есть брандмауэр, который запрещает входящие соединения с postfix.

Посмотрите на результат:

iptables-save