Dart.Mail 名前空間 > MailMessage クラス > Save メソッド : Save(String) メソッド |
例外 | 解説 |
---|---|
System.UnauthorizedAccessException | これは通常、ウイルス対策ソフトウェアによってディスク上のデコードされた添付ファイルが検疫されたか、その添付ファイルへのアクセスがブロックされたことを示します。 ウイルス対策ソフトウェアによる検疫を回避するため添付ファイルをディスクではなくメモリにデコードする場合は、DecodeToMemoryをtrueに設定します。 別の方法として、Attachment.Content.OpenRead()によって各添付ファイルを検査し、例外をスローする添付ファイルを除去することもできます。 |
System.IO.FileNotFoundException | これは通常、ウイルス対策ソフトウェアによってディスク上のデコードされた添付ファイルが検疫されたか、その添付ファイルへのアクセスがブロックされたことを示します。 ウイルス対策ソフトウェアによる検疫を回避するため添付ファイルをディスクではなくメモリにデコードする場合は、DecodeToMemoryをtrueに設定します。 別の方法として、Attachment.Content.OpenRead()によって各添付ファイルを検査し、例外をスローする添付ファイルを除去することもできます。 |
既存のファイルは上書きされます。
このメソッドでMailMessageを保存すると、Bccフィールドも含まれます。Bccフィールドはサーバーには送信されません。 サーバーに送信されるMailMessageを出力する場合は、MailMessage.GetEncodingStream()を使用します。
private void getMessages(object sender) { // 接続してアカウントにログインします。 pop1.Connect(); pop1.Authenticate(true, true); // アカウントのすべてのメッセージをダウンロードし、一意のファイル名でディスクに保存します。 string messageFolder = Application.StartupPath + "\\messages"; foreach (PopMessage popMessage in pop1.Messages) { popMessage.Get(); popMessage.Message.Save(messageFolder + "\\" + popMessage.Id.ToString("D4") + ".eml"); } // セッションから適切にログアウトします。 pop1.Close(); } private void pop1_Progress(object sender, PopProgressEventArgs e) { // メッセージの受信状況に従ってプログレスバーを更新します。 progressBar1.Value = (e.Final) ? 0 : (int)((e.Position * 100) / e.Length); }
Private Sub getMessages(ByVal sender As Object) ' 接続してアカウントにログインします。 pop1.Connect() pop1.Authenticate(True, True) ' アカウントのすべてのメッセージをダウンロードし、一意のファイル名でディスクに保存します。 Dim messageFolder As String = Application.StartupPath & "\messages" For Each popMessage As PopMessage In pop1.Messages popMessage.Get() popMessage.Message.Save(messageFolder & "\" & popMessage.Id.ToString("D4") & ".eml") Next popMessage ' セッションから適切にログアウトします。 pop1.Close() End Sub Private Sub pop1_Progress(ByVal sender As Object, ByVal e As PopProgressEventArgs) Handles pop1.Progress ' メッセージの受信状況に従ってプログレスバーを更新します。 progressBar1.Value = If(e.Final, 0, CInt((e.Position * 100) \ e.Length)) End Sub