Python Script зависает на smptlib.SMTP (сервер) при работе на сервере CentOS - PullRequest
0 голосов
/ 22 марта 2019

Я прочитал кучу разных вопросов по одной и той же проблеме и перепробовал несколько вещей.Для справки вот код, который я пытаюсь запустить:

user = "enbee"
to = "ncbentley4@gmail.com"
subject = "Test"
message = "Test email"
email = user + "@leadshelperpro.com"
smtpserver = "mail.leadshelperpro.com"
header = 'From: %s\n' % email
header += 'To: %s\n' % to
header += 'Subject: %s\n\n' % subject
m = header + message
server = smtplib.SMTP(smtpserver, 465, None, 30)
server.starttls()
server.login(user, 'password redacted')
server.sendmail(email, to, m)
server.quit()

Я проверил, что smtpserver и порт верны.Этот скрипт работает, когда я запускаю его с локального компьютера, поэтому он не блокирует соединение с брандмауэром.Я также использовал telnet для подключения к серверу, и он работает правильно.

Я пытался использовать server.ehlo() как до, так и после server.starttls() (а также до и после и после).

Ничего из того, что я пробовал до тех пор, пока этот пункт не сработал, и я был на пороге с поддержкой службы хостинга, которую я использую.Они изменили некоторые конфигурации SMTP, но ничего не помогло.Я все еще убежден, что это исходящее соединение заблокировано, но я не уверен, как.

1 Ответ

0 голосов
/ 25 марта 2019

Поддержка моей хостинговой компании помогла показать, что порт 465 работает только для SSL-соединений.Изменение порта на 587 и сохранение линии server.starttls() устранило проблему.

...