Mutt没有附加多个文件并在python中向服务器发送附件

时间:2014-02-20 13:59:44

标签: python linux email csv mutt

所以,我正在尝试使用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)

1 个答案:

答案 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模块,允许您在不依赖外部程序的情况下发送电子邮件。