Беру простейший пример для Python по отправке почты через SMTP.
Пытаюсь отправить почту через gmail.com, на котором для отправки почты завел аккаунт.
# coding: utf8
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
toaddr = 'xintrea@gmail.com'
me = 'From: My Name'
you = 'To: ' + toaddr
server = 'smtp.gmail.com' # Сервер
port = 465 # Порты
user_name = '*****@gmail.com' # Отправитель
user_passwd = '*****' # Пароль отправителя
# Формируем заголовок письма
msg = MIMEMultipart('mixed')
msg['Subject'] = 'Заголовок письма'
msg['From'] = me
msg['To'] = toaddr
# Формируем письмо
part = MIMEText('Содержимое письма', 'Plain email')
msg.attach(part)
# Подключение
s = smtplib.SMTP(server, port)
s.ehlo()
s.starttls()
s.ehlo()
# Авторизация
s.login(user_name, user_passwd)
# Отправка письма
s.sendmail(me, toaddr, msg.as_string())
s.quit()
В данном коде надо установить значения аккаунта, от имени которого будет отправлено письмо гуглом:
user_name = '*****@gmail.com' # Отправитель
user_passwd = '*****' # Пароль отправителя
В результате выполнения скрипт зависает на строке:
# Подключение
s = smtplib.SMTP(server, port)
Жду несколько минут - ничего не происходит. Прерываю по Ctrl+C, вижу вывод:
$ python mail.py
^CTraceback (most recent call last):
File "mail.py", line 27, in <module>
s = smtplib.SMTP(server, port)
File "/usr/lib/python2.7/smtplib.py", line 249, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 310, in connect
(code, msg) = self.getreply()
File "/usr/lib/python2.7/smtplib.py", line 354, in getreply
line = self.file.readline()
File "/usr/lib/python2.7/socket.py", line 447, in readline
data = self._sock.recv(self._rbufsize)
KeyboardInterrupt
В чем причина того, что скрипт не работает?
PS:
Пробовал отправить из PHP по SMTP согласно вот этой статье:
Настройка ssmtp для работы через gmail.com. Как отправить почту без почтового сервера
Все нормально отправляется, настройки для ssmtp те же, что и используемые в Python-скрипте.
Перемещено true_admin из web-development