所以,我正在尝试使用mutt将所有.csv文件附加到一个文件夹中并且它不合作。出于某种原因,它只附加其中一个,我认为我正确地做到了。在一个陌生人的说明中,mutt还会发送它实际附加到服务器的.csv。我的意思是,我收到一封电子邮件到我的电子邮件,附带一个文件,并且在“收件人:”字段中它有.csv文件@服务器IE“To:MyCsvFile.csv@server.serv.net; myemail@domain.com”。因此,它发送到我希望它发送到电子邮件的服务器顶部...为什么它发送到服务器并只附加一个.csv?
def sendEmail():
email = 'myemail@domain.com'
Extracts = "/path/path/path/path/path/*.csv"
blankEmailContentFile = '/path/path/path/path/blank'
fh = open(blankEmailContentFile, 'w+')
fh.close()
linuxCMD = 'mutt -s "Email Subject" -a %s "%s" < %s' % (Extracts, email, blankEmailContentFile )
os.system(linuxCMD)
答案 0 :(得分:0)
您的mutt
命令行不正确。根据{{1}}手册页:
mutt(1)
如果 -a file [...]
Attach a file to your message using MIME. When attaching single or multiple files,
separating filenames and recipient addresses with "--" is mandatory, e.g. mutt -a
image.jpg -- addr1 or mutt -a img.jpg *.png -- addr1 addr2. The -a option must be
placed at the end of command line options.
没有将文件名与地址分开,--
将解释除第一个文件名之外的所有内容作为目标地址。您的命令行应如下所示:
mutt
虽然上述方法可行,但这是一个很好的机会,可以查看linuxCMD = 'mutt -s "Email Subhect" -a %s -- "%s" < %s' % (Extracts, email, blankEmailContentFile )
模块并找出如何构建一个不依赖于shell通配符扩展的命令行,以便正常运行。还有一个用于Python的subprocess
模块,允许您在不依赖外部程序的情况下发送电子邮件。