GrapeCity Secure Mail for .NET 4.0J
Smtp クラス
メンバ  使用例 

簡易メール転送プロトコル(SMTP)機能を.NETアプリケーションに組み込み、アプリケーションがインターネットメールを簡単に送信できるようにします。
オブジェクト モデル
Smtp クラスTcpBase クラスDeliveryStatusNotification クラスSmtpSession クラス
シンタックス
<ToolboxItemAttribute(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>
<LicenseProviderAttribute(1.3)>
Public Class Smtp 
   Inherits MailBase
[ToolboxItem(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[LicenseProvider(1.3)]
public class Smtp : MailBase 
解説

Smtpコンポーネントはインターネットメールを送信します。このコンポーネントは機能が豊富で柔軟性も高く、複数の認証方法、プロキシのサポート、Streamのサポート、TCP接続へのアクセス、デバッグ機能など、.NETプラットフォームには見られない数多くの機能を備えています。

Smtpコンポーネントの使用

一般的な使用例の概要を以下に示します。C#およびVBのサンプルコードについては、「コード例」のトピックを参照してください。

セッション管理: 認証は自動的に行われます。Closeは接続を終了します。

基本的なメールの送信: Send(String,String,String,String)は、1行のコードでメールを送信する高レベルメソッドです。

高度なメールの送信: Send(MailMessage)は、指定されたMailMessageをエンコードして送信します。このメソッドを使用すると、どれだけ構造が複雑な電子メールメッセージでも作成できます。

エンコードされたメールの送信: Send(Stream,String,String)は、事前にエンコードされた電子メールを送信します。

"オンザフライ"エンコード: すべてのMailMessageパートはオンザフライでエンコードされ、ソケットにストリームされます。これにより、メモリ/ディスクフットプリントが最小限に抑えられます。

進行状況の表示: Progressにより、アップロードの進行状況が更新されます。

SMTPプロトコル通信の表示: Smtp.Connection.Logイベントにより、TCP接続を通じて送信されたすべてのコマンドとデータにアクセスできます。

コントロール接続: Connectionによって公開されたTCP接続により、低レベルのプロパティやメソッドにアクセスできます。たとえば、これを使用してローカルIPアドレスやリモートIPアドレスなどのTCPレベルのプロパティを表示できます。

コマンドの送信: Connection.Write()とConnection.Read()を使用して、任意のコマンド(独自のコマンドを含む)を送受信できます。

使用例
Smtpコンポーネントを使用して、添付ファイルの付いたテキストメッセージを送信します。
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
継承階層

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         Dart.Mail.ComponentBase
            Dart.Mail.MailBase
               Dart.Mail.Smtp

参照

参照

Smtp メンバ
Dart.Mail 名前空間

 

 


© 2003, GrapeCity inc. All rights reserved.