【问题标题】:C# send a file in email to the Kindle deviceC# 通过电子邮件将文件发送到 Kindle 设备
【发布时间】:2012-04-04 10:37:55
【问题描述】:

我正在尝试为 Kindle 设备发送 PDF 文件。

如果我使用我的 GMAIL 帐户发送该文件(通过网络浏览器发送),则该文件会正确发送(我可以在亚马逊 > 管理您的 Kindle 部分下看到该文件)

我的 SmtpClient 配置代码很好 - 我的项目下的所有电子邮件都可以正常发送。

仅将文件作为电子邮件附件发送是行不通的,我在亚马逊 > 管理您的 Kindle 部分没有看到该文件。下面的代码不会抛出任何异常或错误,消息已发送。

var smtp = new SmtpClient()
        {
            Host = "SMTP_SERVER",
            Port = "SMTP_PORT",
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential("login", "pass")
        };

var msg = new MailMessage(new MailAddress("my_email", "my_name"),
                          new MailAddress("some_name@kindle.com"))
            {
                Subject = "Your Kindle file",
                IsBodyHtml = true
            };

            Attachment data = new Attachment(PDF_file_path,
                                             MediaTypeNames.Application.Pdf);
            msg.Attachments.Add(data);

            smtp.Send(msg);

有什么想法吗?

【问题讨论】:

  • 您应该将新的 MailMessage 包装在 using 语句中!

标签: c# email


【解决方案1】:

好的,我想通了 - 在我必须将我的电子邮件地址添加到亚马逊帐户中的受信任电子邮件列表之后(个人文档设置 > 批准的个人文档电子邮件列表)

然后邮件已经送达。谢谢大家!

【讨论】:

  • 你应该真正接受莱昂的答案,而不是自己写,因为他正是这么描述的……
【解决方案2】:

当您将其发送到另一封电子邮件时,附件是否存在?

您是否在发送命令之前调试了程序?

从您的电子邮件地址发送邮件可以吗?

“管理您的 Kindle”设置中的“您的 Kindle 批准的电子邮件列表”菜单中是否有电子邮件防火墙规则?

我知道 Kindle t&c 对文件附件没有限制。 亚马逊只要求文件采用可识别的电子书格式。

iTextSharp - Sending in-memory pdf in an email attachment

http://www.eggheadcafe.com/community/csharp/2/10238481/attachment-file-is-missing.aspx

【讨论】:

  • 对不起,我是新用户,所以我还不能评论。有时,我的回答会转化为评论,有时不会。
  • 是的,我已将该电子邮件发送给自己 (gmail),并且我看到了该附件
  • 正如 Tony 所说,如果将其包装在 using 语句中,则可以毫无问题地执行诸如添加附件之类的漫长过程。
  • 我已经将 MailMessage 包装在 using 语句中,但没有成功
  • 那么,它是在亚马逊网站上,而不是在您的 Kindle 批准的电子邮件列表中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 2013-11-23
  • 1970-01-01
  • 2013-08-06
  • 2011-01-04
  • 1970-01-01
相关资源
最近更新 更多