- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)
ASP.NETで作成したWebページから電子メールを送信する方法を確認した。 09/08/10
開発環境:VWD2005+AJAX1.0+Toolkit + SQL Server2005
サーバ:ASP.NET2.0+AJAX1.0 + SQL Server2005
【機能】Webページから電子メールを送信する基本機能を確認。
.NET Framework 2.0以降では、System.Net.Mail名前空間のMailMessageクラスと
SmtpClientクラスを使うことで、プログラムで簡単にメールを送信できます。
しかし、日本語が一部文字化けするので、
http://www.atmarkit.co.jp/fdotnet/dotnettips/696jismail/jismail.html
の情報を基に日本語の文字化けのないメール送信の基本部分のみのプログラムを作成
しました。
(参考:過去情報).NET Framework 1.X以前はSystem.Web.Mail名前空間のSmtpMailク
ラスが提供されていた。(旧クラス)
メールを送信するWebページ
#ref(webmail02.JPG);
受信したメール
#ref(webmail01.JPG);
【WebMail.aspx】
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Net.Mail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
'参考ページ:日本語文字化けのないメール送信法 08/01/17
'http://www.atmarkit.co.jp/fdotnet/dotnettips/696jismail/jismail.html
Private Function myEncode(ByVal str As String, ByVal enc As System.Text.Encoding) As String
Dim base64str As String = Convert.ToBase64String(enc.GetBytes(str))
Return String.Format("=?{0}?B?{1}?=", enc.BodyName, base64str)
End Function
Private Sub Send_JIS_Mail()
Dim smtp As New SmtpClient()
Dim msg As New MailMessage()
Dim myEnc As Encoding = Encoding.GetEncoding("iso-2022-jp")
' 送信元
msg.From = New System.Net.Mail.MailAddress( _
"suzuki_ichirou@hoge.co.jp", myEncode("鈴木 一郎", myEnc))
' 送信先
msg.[To].Add(New System.Net.Mail.MailAddress(TextBox1.Text))
' 件名
msg.Subject = myEncode(TextBox2.Text, myEnc)
' 本文
Dim sBody As String = TextBox3.Text
Dim altView As AlternateView = _
AlternateView.CreateAlternateViewFromString( _
sBody, myEnc, System.Net.Mime.MediaTypeNames.Text.Plain)
altView.TransferEncoding = _
System.Net.Mime.TransferEncoding.SevenBit
msg.AlternateViews.Add(altView)
smtp.Host = "smtp.hoge.co.jp" ' SMTPサーバ
smtp.Send(msg) ' メッセージを送信
End Sub
Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As System.EventArgs)
'メール送信
Send_JIS_Mail()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>メール送信(Webメール)基本機能</title>
</head>
<body>
<form id="form1" runat="server">
<div>
メール送信(Webメール) 基本機能 09/08/10<br />
<br />
【機能】メール送信(Webメール)を行う、基本機能のみの実装<br />
送信先e-mail:<asp:TextBox ID="TextBox1" runat="server" Width="278px"></asp:TextBox><br />
件名:<asp:TextBox ID="TextBox2" runat="server" Width="330px"></asp:TextBox><br />
本文:<br />
<asp:TextBox ID="TextBox3" runat="server" Height="80px" TextMode="MultiLine" Width="370px"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="メール送信" OnClick="Button1_Click1" /></div>
</form>
</body>
</html>
【参考にしたページ】
1.日本語文字化けのないメール送信法 08/01/17
http://www.atmarkit.co.jp/fdotnet/dotnettips/696jismail/jismail.html
#comment_nospam
#vote(参考になった[1],ふつう[0],参考にならなかった[0])
#vote(参考になった[2],ふつう[0],参考にならなかった[0])