У меня настроено веб-приложение PHP, которое, когда пользователь отправляет форму, отправляет электронное письмо с подтверждением от username@domainname.co.uk
, а также отправляет сведения о своем запросе с того же адреса электронной почты в заранее определенный почтовый ящик. Он работает на сервере Debian Wheezy.
В процессе разработки я использовал учетную запись Gmail с MSMTP, которую легко настроить и она отлично работает. Однако мы скоро выйдем в эфир, и я хочу настроить его для отправки через существующий почтовый сервер для этого домена. Однако почтовый сервер использует MS Exchange, а поиск в Google при использовании Exchange с MSMTP не дает результатов.
В идеале я хотел бы просто изменить конфигурацию MSMTP, чтобы он мог отправлять электронные письма через существующий Exchange, как я уже делал, но я не могу настроить его правильно. Вот мой / etc / msmtprc:
# ------------------------------------------------------------------------------
# msmtp System Wide Configuration file
# ------------------------------------------------------------------------------
# A system wide configuration is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.
# ------------------------------------------------------------------------------
# Accounts
# ------------------------------------------------------------------------------
# Main Account
defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account username@domainname.co.uk
host domainname.co.uk
port 25
#auth on
from username@domainame.co.uk
user username
password password
logfile /var/log/msmtp.log
# ------------------------------------------------------------------------------
# Configurations
# ------------------------------------------------------------------------------
# Construct envelope-from addresses of the form "user@oursite.example".
#auto_from on
#maildomain fermmy.server
# Use TLS.
#tls on
#tls_trust_file /etc/ssl/certs/ca-certificates.crt
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER.
# Must be done within "account" sub-section above
#syslog LOG_MAIL
# Set a default account
# ------------------------------------------------------------------------------
Вот сообщение об ошибке, которое я получаю /var/log/msmtp.log
:
Sep 23 11:34:44 host=username.co.uk tls=on auth=on user=username from=username@domainname.co.uk recipients=myusername@mydomain.com errormsg='the server does not support TLS via the STARTTLS command' exitcode=EX_UNAVAILABLE
Может ли кто-нибудь указать, где я ошибся с этим? Я полагаю, возможно, мне было бы лучше установить Postfix, настроить его как нулевого клиента и добавить сервер в записи MX, но я бы предпочел сделать это таким образом, чтобы отправленные электронные письма сохранялись на сервере Exchange.
сервер не поддерживает TLS через команду STARTTLS
Это ваша ошибка ... может показаться, что ваш сервер Exchange неправильно настроен для TLS.
Telnet к серверу Exchange через порт 25
Введите ehlo. Если в ответе указано «250-STARTTLS», предлагается Opportunistic TLS.
Если нет, вам нужно включить TLS на приемном соединителе:
Set-ReceiveConnector «ReceiveConnectorName» –DomainSecureEnabled $ true –AuthMechanism TLS
Однако сначала поймите, что вы делаете, так как соединитель приема может использоваться для другого входящего трафика и он не будет ПРИНУДИТЕЛЬНО TLS, поэтому прочитайте следующую статью Technet ПЕРВЫЕ!
Подробнее о настройке взаимного TLS на Exchange см. Здесь: http://technet.microsoft.com/en-us/library/bb123543.aspx
В противном случае вы можете отключить TLS в MSMTP, если хотите.