2016-12-06 17 views
-1

電子メールでカレンダーファイルを送信すると、受信者の電子メールに正しく表示されます。プログラムで同じファイルを送信しても、それはありません。 VCALENDAR VERSION:2.0 はBEGIN:VEVENT DTSTART:20160930T110000 DTEND:20160930T120000 概要:フランス革命記念日をここで私はここに電子メールでICSカレンダーファイルを送信するVb.net

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim Mail As New MailMessage 
    Mail.Subject = "test email" 
    Mail.To.Add("[email protected]") 
    'Mail.To.Add("[email protected]") 
    Mail.From = New MailAddress("[email protected]") 
    Mail.Body = "This is a sample email using VB.NET" 

    Dim attachment As System.Net.Mail.Attachment 
    attachment = New System.Net.Mail.Attachment("C:\Users\x\Downloads\testCalendar.ics") 
    Mail.Attachments.Add(attachment) 

    Dim SMTP As New SmtpClient("smtp.gmail.com") 
    SMTP.EnableSsl = True 
    'SMTP.DeliveryMethod = SMTP.DeliveryMethod.SpecifiedPickupDirectory 
    SMTP.Credentials = New System.Net.NetworkCredential("[email protected]", "password") 
    SMTP.Port = "587" 
    SMTP.Send(Mail) 
End Sub 

プログラムで何をすべきかであることは、テスト用ICの内容はBEGIN

ファイルであります党は LOCATION:123メインストリート、Anahiem CA 説明:このTEST DESCRIPTION END IS:VEVENT END:VCALENDAR

アイデア?

おかげ

答えて

1

は絶対に間違った構造を持つことになり結果としてMIMEメッセージの内容としてSystem.Net.Mailを使用してこれを行う方法はありません。 VCalendar情報は、特定のMIME部分に含める必要がありますが、別の場所に配置され、通常の添付ファイルとして扱われます。

私は、自分のSMTPクライアントとMIMEメッセージジェネレータを書いて、必要に応じてMIMEコンテンツを正確に作成することでこの問題を克服しました。これを行う際の問題は、NTLMなどのさまざまなセキュリティプロトコルに対応する必要があることでした。これはコード化する苦労でした。

ナゲットギャラリーで必要な動作をサポートするサードパーティのSMTPクライアントを見つけることができます。

関連する問題