【发布时间】:2018-09-29 13:50:21
【问题描述】:
以下源代码在手动运行时工作正常,但使用 crontab 作业邮件成功发送但未附加文件。我该如何解决?
#!/usr/bin/python
import smtplib
import os
import datetime
import glob
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
now = datetime.datetime.now()
fi = now.strftime("%d%m%Y" '_0600_final.txt')
files1=glob.glob('*%s'%fi)
time.sleep(20)
print(files1)
me = 'abc@abc.com'
you = ['abc@abc.com']
msg = MIMEMultipart('alternative')
msg['Subject'] = "abc Report"
msg['From'] = me
msg['To'] = ", ".join(you)
text = "Hi!\n\nPlease find attached today's Counter files.\n\nRegards,\nabc"
part1 = MIMEText(text, 'plain')
msg.attach(part1)
for f in files1:
file_path = os.path.join('/tmp/', f)
print(file_path)
attachment = MIMEApplication(open(file_path, "rb").read(), _subtype="txt")
attachment.add_header('Content-Disposition','attachment', filename=f)
msg.attach(attachment)
s = smtplib.SMTP('10.0.0.1')
s.sendmail(me, you, msg.as_string())
s.quit()
这是 crontab 作业条目:
0 9 * * * python /tmp/send_mail_2.py
【问题讨论】:
-
您能否尝试使用绝对路径作为附件?
-
是的,我使用的是完整路径,脚本也在同一目录中。