C#.NET
public void Send()
{
TKMP.Writer.MailWriter writer = new TKMP.Writer.MailWriter();
writer.FromAddress = "from@mail.example.jp";
writer.Headers.Add("From", "差出人名 <from@mail.example.jp>");
writer.ToAddressList.Add("to@mail.example.jp");
writer.Headers.Add("To", "宛先人名 <to@mail.example.jp>");
writer.Headers.Add("Subject", "送信メールテスト");
writer.MainPart = new TKMP.Writer.TextPart("テストメールです。");
string smtpserver = "mail.example.jp";
int port = 465;
TKMP.Net.SmtpClient smtp = new TKMP.Net.SmtpClient(smtpserver, port);
smtp.AuthenticationProtocol = TKMP.Net.AuthenticationProtocols.SSL ;
smtp.CertificateValidation += new TKMP.Net.CertificateValidationHandler(smtp_CertificateValidation);
if (!smtp.Connect())
{
System.Windows.Forms.MessageBox.Show("接続失敗");
return;
}
smtp.SendMail(writer);
smtp.Close();
}
private void smtp_CertificateValidation(object sender, TKMP.Net.CertificateValidationArgs e)
{
e.Cancel = false;
}
VB.NET
Public Sub Send()
Dim writer As New TKMP.Writer.MailWriter()
writer.FromAddress = "from@mail.example.jp"
writer.Headers.Add("From", "差出人名 <from@mail.example.jp>")
writer.ToAddressList.Add("to@mail.example.jp")
writer.Headers.Add("To", "宛先人名 <to@mail.example.jp>")
writer.Headers.Add("Subject", "送信メールテスト")
writer.MainPart = New TKMP.Writer.TextPart("テストメールです。")
Dim smtpserver As String = "mail.example.jp"
Dim port As Integer = 465
Dim smtp As New TKMP.Net.SmtpClient(smtpserver, port)
smtp.AuthenticationProtocol = TKMP.Net.AuthenticationProtocols.SSL
AddHandler smtp.CertificateValidation, AddressOf smtp_CertificateValidation
If Not smtp.Connect() Then
System.Windows.Forms.MessageBox.Show("接続失敗")
Return
End If
smtp.SendMail(writer)
smtp.Close()
End Sub
Private Sub smtp_CertificateValidation(ByVal sender As Object, ByVal e As TKMP.Net.CertificateValidationArgs)
e.Cancel = False
End Sub
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
メール送信時にSMTP over SSL/TLSを使用するのも受信処理の「通信を暗号化する」と同様の手順で行うことが可能です。受信時と送信時で異なるのはSMTP over SSLが使用する標準的なポート番号が465なっていることだけで、Connectメソッドの前にAuthenticationProtocolプロパティで使用する暗号化方式を指定する点や、証明書の検証に問題があった場合の処理などは同じ手順になります。