英文:
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' # 您的电子邮件
password = 'senderpassword' # 您的电子邮件帐户密码
send_to_email = 'receiver@gmail.com' # 发送消息的收件人
message = 'A' # 电子邮件中的消息
server = smtplib.SMTP('smtp.gmail.com', 587) # 连接到服务器
server.starttls() # 使用TLS
server.login(email, password) # 登录到电子邮件服务器
server.sendmail(email, send_to_email, message) # 发送邮件
server.quit() # 退出电子邮件服务器
谢谢。
英文:
I want to send a mail with gmail. But mail must specifically include an array. I need help.
Message part in the code block, specifically accept text type.
If I tell specifically my goal; I have a .csv file, and I'm creating random Sub Sample from this file. Sub Sample includes 5 rows. I created an array with this random rows and I want to send this random rows which type is array.
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
Thank you.
答案1
得分: 0
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 the 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)
英文:
Solution;
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)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论