2017-05-26 73 views
0

我正在使用for循环来计划使用Mailgun发送一些电子邮件。第一封电子邮件得到200响应并正确发送。但其余3封电子邮件都收到400回应,并且出现以下错误'to' parameter is not a valid address. please check documentation"。我完全被难住了。我已经单独列出了一切,看起来都是正确的。任何帮助将不胜感激。Mailgun:'to'参数不是有效地址

def indoctrination(email, name): 
    requests.post('https://api.mailgun.net/v3/lists/{}@{}/members'.format(list, domain_url), 
      auth=auth, 
      data={'subscribed': True, 
        'address': email, 
        'name': name}) 
    for x in range(1,5): 
     if x > 1: 
      days = x - 1 
      time = datetime.utcnow() #+ timedelta(days=days) 
     else: 
      time = datetime.utcnow() 
     subject = ['Welcome to Python Financial', 'Notes and Pizza', 'Your questions answered', 'Why are we not doing this?'] 
     email = requests.post('https://api.mailgun.net/v3/{}/messages'.format(domain_url), 
       auth=auth, 
       data={"from": from_email, 
         "to": '{} <{}>'.format(name, email), 
         "subject": "{}".format(subject[x-1]), 
         "html": open("templates/email{}.html".format(x)), 
         "o:deliverytime": time.strftime("%a, %d %b %Y %H:%M:%S +0000")}) 
     print 'Response status code: ', email.status_code 
     print 'Data: ', email.json() 
+0

我犯了多么愚蠢的错误。当我将'email'传递给函数时,我更改了变量以创建消息,所以我没有在'to:'字段中输入有效的电子邮件地址。通过重命名函数中的电子邮件变量可以简单地解决问题。 – freefly0313

+0

这个问题值得保留吗?你犯了一个错字。我不认为有人会从中学到任何东西。 – toxaq

回答

0

查看评论。只需重新命名电子邮件变量即可修复。