如何通过 python 发送带有电子邮件的 "array"?

How to send an "array" with e-mail via python?

我想用 gmail 发送邮件。但是邮件 必须 特别包含一个 数组 。我需要帮助。 代码块中的消息部分,具体接受文本类型。

如果我具体说出我的目标;我有一个 .csv 文件,我正在从该文件创建随机子样本。子样本包括 5 行。我用这个随机行创建了一个数组,我想发送这个类型为数组的随机行。

import pandas as pd
import smtplib

data = pd.read_csv("Words1.csv")
row1 = data.sample(n=5)
A = [row1]
print(A)
email = 'sender@gmail.com'  # Your email
password = 'senderpassword'  # Your email account password
send_to_email = 'receiver@gmail.com'  # Who you are sending the message to
message = 'A'  # The message in the email 

server = smtplib.SMTP('smtp.gmail.com', 587)  # Connect to the server
server.starttls()  # Use TLS
server.login(email, password)  # Login to the email server
server.sendmail(email, send_to_email, message)  # Send the email
server.quit()  # Logout of the email server

谢谢。

解决方案;

import numpy as np
import pandas as pd
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

data = pd.read_csv("Words.csv")
row1 = data.sample(n=5)
A = [row1]
num = np.array(row1)

head = ['C1', 'C2', 'C3']
row = ['1','2','3','4','5']
df = pd.DataFrame(num, index=row, columns=head)
html = df.to_html()
print(html)

def py_mail(SUBJECT, BODY, TO, FROM):
    """With this function we send out our html email"""

    MESSAGE = MIMEMultipart('alternative')
    MESSAGE['subject'] = SUBJECT
    MESSAGE['To'] = TO
    MESSAGE['From'] = FROM

    HTML_BODY = MIMEText(BODY, 'html')
    MESSAGE.attach(HTML_BODY)


    password = "@YourPassword"
    server = smtplib.SMTP('smtp.gmail.com:587')
    server.starttls()
    server.login(FROM,password)
    server.sendmail(FROM, [TO], MESSAGE.as_string())
    server.quit()

if __name__ == "__main__":
    """Executes if the script is run as main script (for testing purposes)"""

    email_content = html

    TO = 'to@gmail.com'
    FROM ='from@gmail.com'

    py_mail("Test email subject", email_content, TO, FROM)