Как написать письмо в Hotmail, используя Python? - PullRequest
1 голос
/ 25 июля 2011
import poplib

M = poplib.POP3_SSL('pop3.live.com', 995) #Connect to hotmail pop3 server

try: 

    M.user(raw_input("username: ")) #Get the username from the standar input
    M.pass_(raw_input("password: ")) #Get the password from the standar input
except:

    print "username or password incorrect"
else:

    print "Successful login"

import smtplib

msg = "warning"

msg['From'] = "capstons2011jm4@hotmail.com"

msg['To'] = "yuxun88@hotmail.com"

msg['Subject'] = "hello"

s = smtplib.SMTP("smtp.live.com",25)

s.sendmail("capstones2011jm4@hotmail.com", "yuxun88@hotmail.com", msg.as_string())

s.quit()

Я только что узнал, как войти в Hotmail, используя python.

Но у меня все еще проблемы с отправкой электронной почты в hotmail.

TypeError: 'str' object does not support item assignment  This keep coming up. I have no idea why.

Кто-нибудь знает, как написать следующий код. Пожалуйста, помогите. Я буду очень признателен за это.

Ответы [ 5 ]

1 голос
/ 25 июля 2011

Проблема здесь:

msg = "warning"
msg['From'] = "capstons2011jm4@hotmail.com"
msg['To'] = "yuxun88@hotmail.com"
msg['Subject'] = "hello"

msg это str, и вы пытаетесь рассматривать его как словарь и пытаетесь присвоить ему значения. Это неправильно.

Ошибка, которую вы получаете, пытается сказать, что вы не можете присвоить значения позиции индекса в строке.

0 голосов
/ 09 августа 2014

это хорошо для меня

 import email
 import smtplib

 msg = email.message_from_string('warning')
 msg['From'] = "example@hotmail.fr"
 msg['To'] = "example@hotmail.fr"
 msg['Subject'] = "helOoooOo"

 s = smtplib.SMTP("smtp.live.com",587)
 s.ehlo()
 s.starttls() 
 s.ehlo()
 s.login('example@hotmail.fr', 'pass')


 s.sendmail("example@hotmail.fr", "example@hotmail.fr", msg.as_string())

 s.quit()
0 голосов
/ 25 июля 2011

Я думаю, вы можете предварительно взглянуть на этот модуль:

http://docs.python.org/library/email.message.html

это объясняется довольно хорошо! Я использовал в прошлом и был действительно полезным и легким. (Я не использовал hotmail, но он должен работать)

Лучший, Ste

0 голосов
/ 25 июля 2011

Похоже, вам нужен email модуль:

>>> import email
>>> msg = email.message_from_string('warning')
>>> msg['From'] = "capstons2011jm4@hotmail.com"
>>> msg['To'] = "yuxun88@hotmail.com"
>>> msg['Subject'] = "hello"
>>> print msg.as_string()
From: capstons2011jm4@hotmail.com
To: yuxun88@hotmail.com
Subject: hello

warning
0 голосов
/ 25 июля 2011

См. Документацию для пакета email: http://docs.python.org/library/email.html

Есть много примеров .

...