我正在创建一个Python邮件列表,但我在函数结束时遇到了问题。
问题是,List必须是这样的:
['first@google.com', 'second@google.com', 'third@google.com']
我目前的代码:
mailinputs = raw_input('Enter all mails with comma: ')
receivers = [mailinputs]
如果输入:
'first@google.com', 'second@google.com', 'third@google.com'
出现错误:
Probe failed: Illegal envelope To: address (invalid domain name):
否则,如果输入:
first@google.com, second@google.com, third@google.com
只有first@google.com才会收到邮件。
我该怎么办?
答案 0 :(得分:7)
raw_input()
的返回是一个字符串。您需要将其拆分为逗号,然后您将获得一个列表:
>>> 'first@google.com,second@google.com,third@google.com'.split(',')
['first@google.com', 'second@google.com', 'third@google.com']
所以在你的例子中:
mailinputs = raw_input('Enter all mails with comma: ')
receivers = mailinputs.split(',')
可以执行另一个步骤来删除每封电子邮件之前/之后的任何空格:
mailinputs = raw_input('Enter all mails with comma: ')
receivers = [x.strip() for x in mailinputs.split(',')]