2016-04-21 5 views
1

Моя электронная почта: [email protected]Отправка электронной почты через сервер Python и Google SMTP

Я хотел бы отправить по электронной почте от [email protected] помоему.

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

Это то, что мне нужно:

Я Сара Коннор, и я хочу получить в своем почтовом ящике ([email protected]), по электронной почте от [email protected] ...

Так что я ве использовать этот скрипт, чтобы сделать так:

import requests 
import smtplib 

from email.mime.image import MIMEImage 
from email.mime.multipart import MIMEMultipart 

COMMASPACE = ', ' 

msg = MIMEMultipart() 
msg['Subject'] = 'Our family reunion' 
fromm = "[email protected]" 
to = "[email protected]" 
msg['From'] = fromm 
msg['To'] = COMMASPACE.join(to) 
msg.preamble = 'Our family reunion' 

requests.get("http://smtp.gmail.com", verify=False) 
s = smtplib.SMTP_SSL("smtp.gmail.com", 587) 
s.starttls() 
s.login('[email protected]', 'mypassword12345') #here I login to the SMTP server from Google to be able to send emails... 
s.sendmail(fromm, to, msg.as_string()) 
s.close() 

у меня есть следующее сообщение об ошибке:

raise ConnectionError(err, request=request) 
requests.exceptions.ConnectionError: ('Connection aborted.', error(10054, 'An existing connection was forcibly closed by the remote host')) 

И, как видно из here, похоже, что у меня нет ни одной из этих проблем.

Кто-нибудь знает, как я могу это исправить?

Благодаря

ответ

1

это посылает почту из учетной записи GMAIL на любой другой счет

import smtplib 
from email.mime.text import MIMEText 


class GmailHandler(): 
    """ 
    IMPORTANT NOTE: 
    in order to access a gmail account with this handler, 
    your account needs 'foreign-access' enabled (follow these steps): 
    login to the account 
    go here--> https://accounts.google.com/b/0/DisplayUnlockCaptcha 
    press 'Continue' 
    Done. 
    """ 

    def __init__(self, gmail, password): 
     self.gmail = gmail 
     self.password = password 

    def send_mail(self, receivers, subject, text): 

     if not isinstance(receivers, list): 
      receivers = [receivers] 

     # Send the message via our own SMTP server, but don't include the envelope header 
     smtp = smtplib.SMTP("smtp.gmail.com", 587) 
     smtp.ehlo() 
     smtp.starttls() 
     smtp.ehlo() 
     smtp.login(self.gmail, self.password) 

     for receiver in receivers: 

      msg = MIMEText(text) 
      msg['Subject'] = subject 
      msg['From'] = self.gmail 
      msg['To'] = receiver 
      smtp.sendmail(self.gmail, receiver, str(msg)) 

     smtp.quit() 
+0

ok спасибо, но это не то, что мне нужно :(Мне нужно отправить электронное письмо с другого письма, на мой адрес электронной почты ... не из учетной записи gmail. Как я уже сказал: «Я не хочу удаленно подключаться к моей учетной записи gmail, чтобы отправить электронное письмо ». – waas1919

1

Использование smtplib.SMTP вместо smtplib.SMTP_SSL.

Смежные вопросы