Translate

C#でメール送信するサンプルプログラム | For example send email for C#

C#でメール送信するサンプルプログラム | For example send email for C#


C#でメール送信するプログラムを久々に組む事になったので、サンプルプログラムを貼り付ける。

昔は結構これのプログラムを作ったから考えずともスラスラ作れたのだけれども・・・やっぱり、しばらくやらなかったら忘れてしまったなんて・・・(;´∀`)

API調べながらやれるだろうけれど・・・取り敢えず、コピペで出来るように貼り付ける。

色々、文字コードの指定とかも渡せるとか意見はあるだろうけれど、即興で組んだのだからこれでいい。

時間無いのよオイラ~は( ;∀;)

このパターンは暗号化パターンが無いから、SSLとか使うときは、追加処理が必要。
単純なPOP3で使える。
SSLパターンはまた今度載せてみる。

今オイラ~が必要なのは大塚商会のアルファメールと言うホスティングサービスで取得したアドレスを使用してメールを送る為の仕組みが必要なだけだし。

class SendMail
{

//メール送信
public void SendMailMessage(String Host,
Int32 Port,
String FromAddress,
String[] MailAddress,
String UserName,
String EncryUserPassword,
String Subject,
String Body)
{


System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(Host, Port);


String strPass = EncryUserPassword


client.Credentials = new System.Net.NetworkCredential(UserName, strPass);


System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();


//From
message.From = new System.Net.Mail.MailAddress(FromAddress);


//To
string[] ToAddress = MailAddress;
for (Int32 idxToAddress = 0; idxToAddress <= ToAddress.Length - 1; idxToAddress++)
{
message.To.Add(ToAddress[idxToAddress]);
}


//Subject
Byte[] ByteSubject = System.Text.ASCIIEncoding.GetEncoding("iso-2022-jp").GetBytes(Subject);
message.Subject = "=?iso-2022-jp?B?" + Convert.ToBase64String(ByteSubject) + "?=";


message.Body = Body;
message.BodyEncoding = System.Text.Encoding.GetEncoding("iso-2022-jp");


message.Headers.Add("X-Mailer", "メーラーの名前なんでもいい");


client.Timeout = 360000;
client.Send(message);


}


//メール送信 添付ファイルパターン
public void SendMailMessage(String Host,
Int32 Port,
String FromAddress,
String[] MailAddress,
String UserName,
String EncryUserPassword,
String Subject,
String Body,
String FileName)
{


System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(Host, Port);


String strPass = EncryUserPassword;


client.Credentials = new System.Net.NetworkCredential(UserName, strPass);


System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();


//From
message.From = new System.Net.Mail.MailAddress(FromAddress);


//To
string[] ToAddress = MailAddress;
for (Int32 idxToAddress = 0; idxToAddress <= ToAddress.Length - 1; idxToAddress++)
{
message.To.Add(ToAddress[idxToAddress]);
}


//Subject
Byte[] ByteSubject = System.Text.ASCIIEncoding.GetEncoding("iso-2022-jp").GetBytes(Subject);
message.Subject = "=?iso-2022-jp?B?" + Convert.ToBase64String(ByteSubject) + "?=";


message.Body = Body;
message.BodyEncoding = System.Text.Encoding.GetEncoding("iso-2022-jp");


System.Net.Mail.Attachment objAttachMent = new System.Net.Mail.Attachment(FileName, System.Net.Mime.MediaTypeNames.Application.Octet);
message.Attachments.Add(objAttachMent);


message.Headers.Add("X-Mailer", "ソフトの名前:メーラーとしての");


client.Timeout = 360000;
client.Send(message);


client.Dispose();
message.Dispose();
}



働き方改革で4月から騒がれるなか、それ系のシステム開発を急遽する事になっててんやわんやだぜぃ。


軽減税率対応やら、他にも色々・・・・・やばい予感しかしないぜぃ・・・


このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法