【发布时间】:2013-03-01 02:36:53
【问题描述】:
为了与另一个系统交换数据,我们将数据作为电子邮件附件发送到专用地址。电子邮件是使用 ActionMailer v3.2.12 生成的。
问题在于,当电子邮件到达其目的地时,除了我们创建的附件之外,名为 ATT00001.c 的冗余附件是电子邮件的一部分。这会导致另一端的导入例程出现问题。
问题的很大一部分是我们几乎不知道在目的地是如何处理电子邮件的。我们也不知道正在使用什么类型的电子邮件服务器,也无权检查电子邮件到达时的实际外观。我们可以将它发送到我们自己的地址之一,那里看起来不错。
我知道这不是很多事情,但也许你们中的一个人之前已经看到这些 ATT00001 附件被添加到机器生成的电子邮件中。
config.action_mailer.smtp_settings
address: smtp.<mailprovider>.com
port: 587
domain: ourdomain.com
authentication: login
user_name: <removed>
password: <removed>
enable_starttls_auto: false
更新:
我们已经能够获得有问题的电子邮件的副本,它显示了在附件之后呈现的电子邮件正文作为它自己的附件。
我们尝试设置 ActionMailer 的 parts_order 以确保附件是在电子邮件正文之后生成的,但没有帮助。
更新 2: 发送到我的 gmail 帐户并显示原始原始数据,我得到了这个。
发送邮件 在接收者对正确附件的回复中(自动创建的会创建一个错误日志条目)
(...) cut: to from and through email header information
Mime-Version: 1.0
Content-Type: multipart/mixed;
charset=UTF-8
Content-Transfer-Encoding: 7bit
--
Date: Thu, 28 Feb 2013 12:15:23 +0100
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="thefile.mscons"
Content-ID: <512f3c4b6e875_a8f756dcc642fe@bjorns_arch.mail>
VU5BOisuPyAnVU5CK1VOT0M6Mys3MDgwMDAzNDExNzE2OjE0OlRJTUVSKzcw
... many more lines like this ...
ODAwMDUwNTEyMTc6MTQ6VElNRVIrMTMwMjI4OjEyMTUrUE9XRVNUMTMwMjI4
----
这是body nil在actionmailer中
接下来是来自收件人系统的回复,发送到我的 gmail。这是正确附件的收据(额外的附件会产生错误,刷新他们的系统)
收到邮件
(..) unintersting header stuff with addresses
Content-Disposition: attachment;
filename="afilename.txt"
Content-Transfer-Encoding: base64
Content-Type: Application/EDIFACT; charset="iso-8859-1"
Mime-Version: 1.0
Date: Sat, 16 Feb 2013 11:07:10 +0100
From: ediel@example.com
To: ***@gmail.com
Subject: thesubject
Message-ID: <511f5a53.850a700a.2fa0.2a0eSMTPIN_ADDED_BROKEN@mx.google.com>
X-TM-AS-Product-Ver: IMSS-7.0.0.6298-6.8.0.1017-19380.002
X-TM-AS-User-Approved-Sender: Yes
X-Greylist: Sender is SPF-compliant, not delayed by
milter-greylist-4.0 (isp-app27-vm.isp.example.com [213.239.116.46]);
Sat, 16 Feb 2013 11:07:11 +0100 (CET)
X-ExampleIKT-MailScanner-Information: Please contact the ISP for more information
X-ExampleIKT-MailScanner-ID: r1GA7BqD021150
X-ExampleIKT-MailScanner: Found to be clean
X-ExampleIKT-MailScanner-From: ediel@example.com
X-Spam-Status: No
VU5BOisuPyAnVU5CK1VOT0M6Mys3MDgwMDA1MDUxMjE3OjE0OlRJTUVSKzcwODAwMDM0MTE3MTY6
.. more..
pUSU1FUisxJ1VOVCszKzEnVU5aKzErMjAxMzAyMDAyNDg1Nzcn
Content-Type 有什么可疑之处吗?发送邮件中-- 之前的内容是否生成了新的(空)附件?
【问题讨论】:
-
您使用什么发送电子邮件,发布您的 smtp 设置的相关部分。 ActionMailer::Base.smtp_settings = { :address => '??????',
-
配置已附加到OP
-
邮件提供商是基于 MS Exchange 的吗?
-
不,我们这边不涉及任何 Exchange 服务器。另外,如果是这样,无论电子邮件发送到哪里,我们都不会看到多余的附件吗?收件人端可能涉及到 Exchange 服务器,我还不知道。
-
谷歌搜索 ATT0001 会返回大量有关附件的信息,这一切似乎都与交换有关,很可能是在他们的一端,还有很多是 MAC 用户在向交换发送附件时抱怨这个问题? ??
标签: ruby-on-rails ruby email attachment