【发布时间】:2012-02-07 09:46:43
【问题描述】:
我已经尝试从 gmail 使用 python 发送邮件,它工作正常。但问题是,当我使用一种方法创建 Mail 类时,我从代码中将特定字符串发送给该方法,它无法发送。
class Mail:
def send_mail(self, msg):
import smtplib
fromaddr = 'something@something.com'
toaddrs = 'something@gmail.com'
msg = msg + "something"
print msg
username = 'something'
password = 'something'
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
这样它发送邮件,但邮件中唯一的东西是我添加到字符串中的“某物”,并且 print msg 输出整个字符串加上“某物”。可能是什么问题呢?
这是现在的整个类,它被称为
mail = Mail()
mail.send_mail(message)
【问题讨论】:
-
您看到的异常是什么?我得到
smtplib.SMTPAuthenticationError -
没有例外,我在这里更改了凭据;)这就是您得到它的原因。邮件已发送,但邮件中只有“某些东西”,没有我传递给函数的“味精”
-
我使用自己的 gmail 凭据运行它并得到它......奇怪。由于无法执行它或看到它对我来说正确的类的其余部分,您是否尝试过以其他方式连接,例如
''.join((msg, 'something'))? -
我不需要连接,我只是把它放在那里进行测试我只需要发送那个 msg 字符串,我不能但是我可以在函数中打印它,不是吗
-
没有看到你的班级,很难知道发生了什么。你是怎么调用这个方法的?