我一直在努力解决Gmail API的意外行为。
到现在为止,我使用mail.Payload.Parts [0] .Body.Data获取每封邮件的正文,其中包含base64中的邮件正文。在这种情况下,部件的MimeType是text / plain。
问题在于,当我检索的邮件有附件时,部件[0] MimeType是" multipart / alternative",并且它的主体只有空字段。
如果邮件正文有附件,我该怎么办?
谢谢!
答案 0 :(得分:0)
您可以在this site中尝试解决方案。
C#简化了.Net框架中的网络编程。 C#描述 使用Socket等通信编程的各种协议 通信,SMTP邮件,UDP,URL等System.Net类 用于通过使用HTTP,TCP与其他应用程序通信 UDP,Socket等。在上一个程序中,我们看到了SMTP email from C#如何描述如何发送带有文本正文的电子邮件。在这里,我们 正在发送附带附件的电子邮件。
以下是提供的示例代码
using System; using System.Windows.Forms; using System.Net.Mail; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("your_email_address@gmail.com"); mail.To.Add("to_address"); mail.Subject = "Test Mail - 1"; mail.Body = "mail with attachment"; System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment("your attachment file"); mail.Attachments.Add(attachment); SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); MessageBox.Show("mail Send"); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } } }
您还可以参考文档中的官方.NET Quickstart,这里有关于api的深入讨论以及示例代码和逐步设置过程。
如需进一步参考,您可以访问this SO post。