閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)

 ASP.NETで作成したWebページから電子メールを送信する方法を確認した。 09/08/10

開発環境:VWD2005+AJAX1.0+Toolkit + SQL Server2005
サーバ:ASP.NET2.0+AJAX1.0 + SQL Server
サーバ: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(参考になった[0],ふつう[0],参考にならなかった[0])


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS