用Python给多个联系人发邮件

11 投票
4 回答
10448 浏览
提问于 2025-04-15 17:39

我正在尝试给多个邮箱发送邮件。下面的代码展示了我想要实现的功能。当我添加两个邮箱地址时,邮件却没有发送到第二个地址。我的代码是:

   me = 'a@a.com'
   you = 'a@a.com, a@a.com'
   msg['Subject'] = "Some Subject"
   msg['From'] = me
   msg['To'] = you

   # Send the message via our own SMTP server
   s = smtplib.SMTP('a.a.a.a')
   s.sendmail(me, [you], msg.as_string())
   s.quit()

我尝试过:

you = ['a@a.com', 'a@a.com']

还有

you = 'a@a.com', 'a@a.com'

谢谢

4 个回答

2

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。我们需要确保水不会洒出来,也就是要保证数据的完整性。

为了做到这一点,程序员们通常会使用一些工具和方法来管理这些数据的流动。比如,有的程序会在数据传输的过程中进行检查,确保数据没有被损坏或丢失。

此外,程序员还会使用一些特定的格式来存储和传输数据,这样可以让不同的程序之间更容易理解和使用这些数据。就像是用统一的语言交流,大家都能听懂。

总之,处理数据就像是搬运东西,我们需要小心翼翼,确保每一件东西都能安全到达目的地。

you = ('one@address', 'another@address')
s.sendmail(me, you, msg.as_string())
14

你想要的是这个:

from email.utils import COMMASPACE
...
you = ["foo@example.com", "bar@example.com"]
...
msg['To'] = COMMASPACE.join(you)
...
s.sendmail(me, you, msg.as_string())
12

试试这个

s.sendmail(me, you.split(","), msg.as_string())

如果你这样写 you = ['a@a.com', 'a@a.com']

再试试这个

msg['To'] = ",".join(you)

...

s.sendmail(me, you, msg.as_string())

撰写回答