Ubuntu 20.04 LTS на статическом IP-соединении.
Я установил postfix
и dovecot
использовать Maildir/
. Я могу отправлять сообщения (хотя адрес для ответа на стороне получателя неправильный), и я жестяная банка и делать получать электронные письма. Как ни странно, когда я запускаю mail
команда на моем терминале, он говорит No mail for jarett
. Все остальное работает. Все тесты нигде не показывают ошибок. DNS тоже настроен правильно. Брандмауэр (и маршрутизатор, и компьютер) настроены правильно. Я просто не могу понять, почему mail
не берет его (когда это было раньше, но ... конфигурация и настройка все испортили)! С тех пор я решил все проблемы, кроме этой. Я не очень разбираюсь в этой теме, поэтому признаю, что мне трудно задать Google этот вопрос, а значит, и этот пост.
Я установил тип почтового ящика ~ / Maildir для postfix и dovecot. Многие поисковые запросы утверждают, что должна быть переменная среды, указывающая на эту папку, но изначально ее не было. Добавление "MAIL = ~ / Maildir /" в .bashrc не помогает! Итак, вот моя конфигурация для postfix и dovecot:
Содержание /etc/postfix/main.cf
:
smtpd_banner=$myhostname ESMTP $mail_name (Ubuntu)
biff=no
append_dot_mydomain=no
readme_directory=no
compatibility_level=2
home_mailbox = Maildir/
# TLS parameters
smtpd_use_tls=yes
smtp_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_security_level=may
smtpd_tls_cert_file=/etc/letsencrypt/live/night-stand.ca/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/night-stand.ca/privkey.pem
smtpd_tls_auth_only=yes
smtpd_tls_session_cache_database=btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database=btree:${data_directory}/smtp_scache
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_sasl_auth_enable=yes
smtpd_sasl_security_options=noanonymous, noplaintext
smtpd_sasl_tls_security_options=noanonymous
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unlisted_recipient,
reject_unauth_destination
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
defer_unauth_destination
smtpd_delay_reject=yes
smtpd_helo_required=yes
smtp_always_send_ehlo=yes
smtpd_timeout=30s
smtp_helo_timeout=15s
smtp_rcpt_timeout=15s
smtpd_recipient_limit=40
alias_maps=hash:/etc/postfix/valias
alias_database=hash:/etc/postfix/valias
myhostname=SITE.COM
mydomain=SITE.COM
mydestination=SITE.COM
mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin=$mydomain
relayhost=
mailbox_size_limit=0
recipient_delimiter=+
disable_vrfy_command=yes
strict_rfc821_envelopes=yes
minimal_backoff_time=180s
maximal_backoff_time=3h
inet_interfaces=all
inet_protocols=ipv4
invalid_hostname_reject_code=550
non_fqdn_reject_code=550
unknown_address_reject_code=550
unknown_client_reject_code=550
unknown_hostname_reject_code=550
unverified_recipient_reject_code=550
unverified_sender_reject_code=550
Содержание /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir:~/Maildir
mail_privileged_group = mail
passdb {
driver = passwd-file
args = username_format=%u /etc/dovecot/users
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhost/%d/%n
}
О, возможно, вам нужно знать содержимое файла hosts и содержимое имени хоста /etc/hosts
:
127.0.0.1 localhost
127.0.0.1 mysiteaddress.tld
/etc/hostname
:
www
Наконец, когда я отправляю с почтового сервера в Gmail (например, команду с терминала: echo "this is the body" | mail -s "test 1" "myemailaddy@gmail.com"
) Gmail сообщает, что он исходит от "jarett @ www" вместо "jarett@mysitesaddress.tld". Что, черт возьми, я сделал? Я должен изменить hostname
на мое доменное имя?
Надеюсь, я дал вам все, что вам нужно, и, пожалуйста, не разгребайте меня по углям, если я что-то пропустил или плохо объяснил. Я ищу дружеский совет и, скорее, нуб с этим почтовым сервером (чувак, что за кроличья нора).
С уважением, Джаретт
Теперь проблема решена. Установил «mutt» (потому что семейная реликвия не принесла результатов) и изменил «myorigin», как предложил Майкл (а также, для моей памяти, почту с псевдонимом на mutt). Я не знаю, как отметить эту тему как решенную.
Во-первых, чтобы читать вашу почту, вам необходимо установить семейная реликвия. Только эта версия mail
команда поддерживает почтовые ящики в формате Maildir.
Что касается имени домена в исходящей почте, это вызвано тем, что Debian настаивает на несоблюдении передовой практики именования хостов с их полным доменным именем. (Но не делайте этого, иначе различные Debianisms, вероятно, сломаются). Чтобы обойти это, установите myorigin=
на ваше базовое доменное имя (например, example.com
не www.example.com
) в /etc/postfix/main.cf
.