2017-11-22 23 views
0

Gmail APIの予期せぬ動作に苦労しています。メールに添付ファイルが添付されていると、Gmail APIがメッセージ本文を返さない

これまで、mail.Payload.Parts [0] .Body.Dataを使用して、すべてのメールの本文を取得しました。メッセージ本体はbase64に含まれています。この場合、パートのMimeTypeはtext/plainです。

私が検索しているメールに添付ファイルがある場合、part [0] MimeTypeは "multipart/alternative"であり、本文にはnullフィールドしかありません。

添付ファイルがある場合、どのようにメール本文を取得する必要がありますか?

ありがとうございます!

+0

多分[**この回答**](https://stackoverflow.com/questions/32655874/cannot-get-the-body-of-email-with-gmail-php-api/32660892#32660892)can助けを借りてください。 – Tholle

答えて

0

this siteで解決策を試すことができます。

.NET Frameworkのネットワークプログラミングを簡素化します。 C#は、ソケット 通信、SMTPメール、UDP、URLなどのような通信プログラミングを使用する を記述しています。System.Netクラス は、HTTP、TCP、UDP、ソケットなどを使用して他のアプリケーションと通信します。我々はどのようにSMTP email from C#にテキスト本文と電子メールを送信する方法を説明しました。ここでは が添付ファイル付きのメールを送信しています。ここで

ます。また、APIについての詳細な議論は、サンプルと一緒に導入されたここで、ドキュメントから公式.NET Quickstartを参照することができ

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("[email protected]"); 
       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()); 
      } 
     } 
    } 
} 

、サンプルコードですコードとステップバイステップのセットアッププロセス。

詳細については、this SO postをご覧ください。

関連する問題