C#を攻略しよう

c#

POP Before SMTP サーバでのメール送信

POP Before SMTP サーバでのメール送信        もっと簡単にメール送信

SMTP認証        添付ファイルを乗せてメール送信

POP Before SMTP サーバのケースでメールを送信するサンプルプログラムです。

POP Before SMTP サーバとは、SMTPサーバーに接続する前に、POPサーバーで認証手続きを行うことで、不正なメールの送信を未然に防ぐことを目的とした認証手続きのことです。

多くのホスティングサーバーではこの方式を採用しています。

メール送信

@「ファイル」→「新しいプロジェクト」→「WINDOWSアプリケーション」を選択。

Aツールボックスから上図のように「TextBox」を3つと「Button」、「Label」を配置する。

C「button1」をダブルクリックして、次のコード(黒文字部分)を入力する。

using System.Net.Mail;
using System.Net.Sockets;
using System.IO;

<中略>

private void button1_Click(object sender, EventArgs e)
{

     TcpClient tcp = new TcpClient();
     StreamWriter wr = null;
     string send="USER ユーザー名\nPASS パスワード\nQUIT\n";
     try
     {
         //POPサーバーに接続する
         tcp.Connect("POPサーバー", 110);
         //認証用のユーザー名とパスワードをストリームに送る
         wr = new StreamWriter(tcp.GetStream());
         wr.Write(send);
         SmtpClient sm = new SmtpClient("SMTPサーバー");
         //件名と本文を送信する
         sm.Send("差出人メールアドレス",
         textBox1.Text, //送信先のメールアドレス
         textBox2.Text, //件名
         textBox3.Text); //メール本文
         label2.Text = "送信しました。";
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
      finally
     {
         wr.Close();
         tcp.Close();
     }
}

メソッドの上にマウスポインタをもってくると、ポップアップヒントが表示されます。またF1キーを押すと、ヘルプが立ち上がります。

コメント以外の緑文字をサーバー環境にあわせて変更してください。

サンプルを実行し、相手先のメールアドレスとメールタイトル、メール本文を入力し、送信ボタンをクリックすると、メールが送信されます。

 

 

※当サイトは、リンクフリーです。