Dart.Mail 名前空間 > Smtp クラス > Send メソッド : Send(MailMessage) メソッド |
Public Overloads Function Send( _ ByVal message As MailMessage _ ) As SmtpResult
public SmtpResult Send( MailMessage message )
例外 | 解説 |
---|---|
ProtocolException | サーバーから受信したSMTPプロトコル応答が不良です。 |
System.Net.Sockets.SocketException | ソケットエラー。 |
System.InvalidOperationException | MailMessage.BitEncoding が TransferEncoding.EightBit または TransferEncoding.Binary ですが、サーバーが8ビットまたはバイナリの転送をサポートしているか不明です。 |
System.FormatException | アドレス形式が正しくありません。 |
このメソッドは、ほとんどの電子メールメッセージの送信に使用されます。MailMessageは以下のように初期化します。
この他に、Send(String,String,String,String)を使用して基本的なテキストメッセージを送信する方法や、Send(MailMessage,String,String)を使用してメッセージエンベロープのメールアドレスを指定する方法、Send(Stream,String,String)を使用して事前にエンコードされたメッセージ(ストリーム)を送信する方法もあります。
SendDirectToMxがfalseで、なおかつサーバーに接続していない場合、このメソッドは自動的にConnectとAuthenticateを呼び出します。
private void sendMail(object sender) { // 送信するメッセージを作成します。 MailMessage message = new MailMessage(); message.To = toAddress; message.From = fromAddress; message.Subject = "File Attached"; message.Text = "Please see the attached file."; // 添付ファイルを追加します。 message.Attachments.Add(new Attachment(Application.StartupPath + "\\myImage.jpg")); // セッションパラメーターを設定します。 smtp1.Session.RemoteEndPoint = new Dart.Mail.IPEndPoint(myMailServer, Smtp.GetDefaultPort(smtp1.Session)); smtp1.Session.Username = myUsername; smtp1.Session.Password = myPassword; // メッセージを送信します。 smtp1.Send(message); // 適切にログアウトします。 smtp1.Close(); } private void smtp1_Progress(object sender, SmtpProgressEventArgs e) { // メッセージの送信状況に従ってプログレスバーを更新します。 progressBar1.Value = (e.Final) ? 0 : (int)((e.Position * 100) / e.Length); }
Private Sub sendMail(ByVal sender As Object) ' 送信するメソッドを作成します。 Dim message As New MailMessage() message.To = toAddress message.From = fromAddress message.Subject = "File Attached" message.Text = "Please see the attached file." ' 添付ファイルを追加します。 message.Attachments.Add(New Attachment(Application.StartupPath & "\myImage.jpg")) ' セッションパラメーターを設定します。 smtp1.Session.RemoteEndPoint = New Dart.Mail.IPEndPoint(myMailServer, Smtp.GetDefaultPort(smtp1.Session)) smtp1.Session.Username = myUsername smtp1.Session.Password = myPassword ' メッセージを送信します。 smtp1.Send(message) ' 適切にログアウトします。 smtp1.Close() End Sub Private Sub smtp1_Progress(ByVal sender As Object, ByVal e As SmtpProgressEventArgs) Handles smtp1.Progress ' メッセージの送信状況に従ってプログレスバーを更新します。 progressBar1.Value = If(e.Final, 0, CInt((e.Position * 100) \ e.Length)) End Sub