Python 当我将名称设置为变量时,作为 xlsx 的电子邮件附件不起作用
Python e-mail attachment as xlsx doesnot work when I set name as a variable
我想不时发送自动邮件至,并在邮件中附加一个 excel 文件。如果我直接在前面写 excel 文件的名称就可以了,但是如果我 link 它到一个变量,会发生什么是附加的无格式文件。e-mail view at inbox
简而言之,我希望这一行与一个名为 attachmentFile 的变量一起使用,而不是编写“2020-01-01.xlsx”
part.add_header('Content-Disposition', 'attachment; filename="attachmentFile"')
import smtplib,ssl
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import formatdate
from email import encoders
attachmentFile="2021-01-02.xlsx"
def send_mail():
send_from= 'spotalert@****.com'
send_to='deniz.yildirim@****.com'
subject = 'Uygunsuz Punta Bildirimi'
body_1='Merhaba\n'
body_2= 'xxxxx Nolu Punta Tahribatli kontrolde uygunsuz cikmistir.\n'
body_3='Uygunsuzluk sebebi = xxxxxxx ' + 'Puntanin Bulundugu Posta :'+'\n'
body_4= ' Bu otomatik bir maildir lutfen cevap vermeyiniz.\n'
body_5='Uygunsuzlugun ciktigi tarih'+ '\n'
text = body_1 + body_2 + body_3 + body_4 +body_5
msg = MIMEMultipart()
msg['From'] = send_from
msg['To'] = send_to
msg['Date'] = formatdate(localtime = True)
msg['Subject'] = subject
msg.attach(MIMEText(text))
part = MIMEBase('application', "octet-stream")
part.set_payload(open(attachmentFile, "rb").read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="2021-01-02.xlsx"')
msg.attach(part)
在代码的倒数第二行,而不是:
part.add_header('Content-Disposition', 'attachment; filename="2021-01-02.xlsx"')
使用这个:
part.add_header('Content-Disposition', 'attachment', filename=attachmentFile)
我想不时发送自动邮件至,并在邮件中附加一个 excel 文件。如果我直接在前面写 excel 文件的名称就可以了,但是如果我 link 它到一个变量,会发生什么是附加的无格式文件。e-mail view at inbox
简而言之,我希望这一行与一个名为 attachmentFile 的变量一起使用,而不是编写“2020-01-01.xlsx” part.add_header('Content-Disposition', 'attachment; filename="attachmentFile"')
import smtplib,ssl
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import formatdate
from email import encoders
attachmentFile="2021-01-02.xlsx"
def send_mail():
send_from= 'spotalert@****.com'
send_to='deniz.yildirim@****.com'
subject = 'Uygunsuz Punta Bildirimi'
body_1='Merhaba\n'
body_2= 'xxxxx Nolu Punta Tahribatli kontrolde uygunsuz cikmistir.\n'
body_3='Uygunsuzluk sebebi = xxxxxxx ' + 'Puntanin Bulundugu Posta :'+'\n'
body_4= ' Bu otomatik bir maildir lutfen cevap vermeyiniz.\n'
body_5='Uygunsuzlugun ciktigi tarih'+ '\n'
text = body_1 + body_2 + body_3 + body_4 +body_5
msg = MIMEMultipart()
msg['From'] = send_from
msg['To'] = send_to
msg['Date'] = formatdate(localtime = True)
msg['Subject'] = subject
msg.attach(MIMEText(text))
part = MIMEBase('application', "octet-stream")
part.set_payload(open(attachmentFile, "rb").read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="2021-01-02.xlsx"')
msg.attach(part)
在代码的倒数第二行,而不是:
part.add_header('Content-Disposition', 'attachment; filename="2021-01-02.xlsx"')
使用这个:
part.add_header('Content-Disposition', 'attachment', filename=attachmentFile)