添付ファイルを含むC#。ネットメール送信方法

index.htmlを:

<!DOCTYPE HTML>
<HTMLのxmlns = "http://www.w3.org/1999/xhtml">
<HEAD>
    <META HTTP-当量= "Content-Typeの"コンテンツ= "text / htmlの;のcharset = UTF- 8" />
    <タイトル>邮箱发送</ TITLE>
    <スクリプトSRC = "スクリプト/ jqueryの-1.11.2.min.js"> </ SCRIPT>
    <スクリプトSRC = "スクリプト/ jquery.form.min.js" > </ SCRIPT>
</ HEAD>
<BODY>
    邮箱内容:の<input type = "text" ID = "コンテンツ"名前= "コンテンツ" />
    の<input type = "ボタン"値= "发送" onclickの= "送ります()」/>

    <br />
</ BODY>
</ HTML>

submit_ajax.ashx:

Newtonsoft.Json.Linqを使用しました。
システムを使用しました。
System.Collections.Genericを使用しました。
System.Linqのを使用しました。
System.Webのを使用して、

名前空間のsendEmail
{
    /// <要約>
    /// submit_ajax的摘要说明
    /// </要約>
    パブリッククラスsubmit_ajax:IHTTPハンドラ
    {
        公共ボイドのprocessRequest(のHttpContextコンテキスト)
        {
            文字列アクション= context.Request [ "アクション"]。
            スイッチ(アクション)
            {
                ケース"のsendEmail"
                    のsendEmail(コンテキスト)。
                    ブレーク;
            }
        }

        電子メールを送信#region ============================================
        ます。private void sendEmail(のHttpContextコンテキスト)
        {
            文字列のコンテンツcontext.Request = [ "コンテンツ"];
            jオブジェクトjオブジェクトJSON新しい新=();
            /// <まとめ>
            ///メール
            /// </要約>
            /// <PARAM名前= "SmtpServerは"> SMTPサーバー</ param>の
            /// <PARAM NAME = "ポート">ポート</ param>の第
            /// <PARAM NAME = "enablessl" > SSL暗号化</ param>のかどうか
            // /ます。<param name = "userNameに" > ログイン</ param>のアカウント
            ///ます。<param name = "PWD" > パスワード</ param>の
            ///ます。<param name = "ニックネーム" > 送信者のニックネーム</ param>の
            /// <PARAM NAME = "strfrom">送信者</ param>の
+コンテンツ;             文字列のファイルパス=「/upload/fujian.png」。             してみてください             {
















                //付属品なし
                Mail.sendMail(SmtpServerは、
                    EnableSSL、
                    ユーザ名、
                    PWD、
                    ニックネーム、
                    strfrom、
                    strto、
                    港、
                    SUBJの、bodysの);

                //含附件
                Mail.sendMail(SmtpServerは、
                    enablessl、
                    ユーザ名、
                    PWD、
                    ニックネーム、
                    strfrom、
                    strto、
                    ポート、
                    SUBJ、bodysの、ファイルパス)。
            }
            キャッチ
            {
                JSON [ "MSG"] = "发送失败"。
                context.Response.Write(json.ToString())。
                返します。
            }
            JSON [ "MSG"] = "发送成功"。
            context.Response.Write(json.ToString())。
            返します。
        }
        #endregion

        パブリックブールIsReusable
        {
            取得
            {
                falseを返します。
            }
        }
    }
}

Mail.cs:

システムを使用しました。
System.Collections.Genericを使用しました。
System.IOを使用しました。
System.Linqのを使用しました。
System.Net.Mailを使用しました。
System.Net.Mimeを使用しました。
System.Webのを使用して、

sendEmail名前空間
{
    publicクラスメール
    {
        #region電子メール
        /// <要約>
        ///電子メール
        /// </要約>
        /// <PARAM NAME = "SmtpServerは"> SMTPサーバー</ param>の
        // / <PARAM NAME = "ポート" > ポート</ param>の第
        /// <PARAM NAME = "enablessl" > </ param>のSSL暗号化を有効にするかどうか
        /// <PARAM NAME = "userNameに">ログインアカウント</ PARAM >
        /// <PARAM NAME = "PWD">パスワード</ param>の
        /// <PARAM NAME = "ニックネーム">送信者のニックネーム</ param>の
        /// <PARAM NAME = "strfrom">送信人間</ param>の
        /// <PARAM NAME = "strto ">受信者</ param>の
        /// <PARAM NAME =" SUBJ ">テーマ</ param>の
        /// <PARAM NAME ="のbodys「>コンテンツ</ param>の
        静的ボイドSENDMAIL公開(SmtpServerは文字列、int型のEnableSSL、ユーザ名の文字列、文字列のPWD、ニックネーム文字列、文字列strfrom、文字列strtoは、SUBJ Stringのポート、文字列のbodys INT)
        {
            SmtpClient _smtpClient SmtpClientを新しい新=();
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod。ネットワーク; //指定された電子メールの実施形態
            _smtpClient.Host = SmtpServerは; //指定したSMTPサーバー
            _smtpClient.Credentials =新しいSystem.Net.NetworkCredential(ユーザ名、PWD ); // ユーザ名とパスワード
            IF(。EnableSSL == 1)
            {
                _smtpClient =真.EnableSslに;
            }
            _smtpClient.Port =ポートと

            _From =新しい新しいMailAddress MailAddress(strfrom、ニックネーム);
            MailAddressの_to =新しい新しいMailAddress(strto);
            はMailMessage _mailMessage =新新はMailMessage(_from、_to);
            _mailMessage.Subject = SUBJ; //テーマ
            _mailMessage.Body =のbodys; //コンテンツ
            _mailMessage .BodyEncoding = System.Text.Encoding.Default; //テキストエンコーディング
            _mailMessage.IsBodyHtml = TRUE; // HTMLに設定
            _mailMessage.Priority = MailPriority.Normal; //優先
            _smtpClient.Send(_mailMessage);
        }
        #endregion

        電子メールの添付ファイルを含む#region
        /// <要約>
        ///電子メール
        /// </要約>
        /// <PARAM = "SmtpServerは"名> SMTPサーバー</ param>の
        ///の<paramの名前= "ポート">ポート</ param>の第
        /// <PARAM NAME = "enablessl" > </ param>のSSL暗号化を有効にするかどうか
        /// <PARAM NAME = "userNameに">ログインアカウント</ param>の
        /// < paramの名前= "PWD">パスワード</ param>の
        /// <PARAM NAME = "ニックネーム">送信者のニックネーム</ param>の
        /// <PARAM NAME = "strfrom">差出人</ param>の
        /// <PARAM NAME = "strto" > 受信者</ param>の
        /// <PARAM NAME = "SUBJ">テーマ</ PARAM>
        /// <PARAM NAME = "のbodys">概要</ PARAM>
        /// <PARAM NAME = "ファイルパス">アネックス絶対アドレス</ PARAM>
        静的ボイドSENDMAIL公開(SmtpServerは文字列、EnableSSLユーザ名文字列、文字列のPWD、ニックネーム文字列、文字列strfrom、文字列strto、ポートINT、SUBJの文字列のbodys文字列、文字列のファイルパスをINT)
        {
            SmtpClient _smtpClient SmtpClient(=新しい新規);
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; //あなたは電子メールを送信する方法を指定
            _smtpClient.Host = SmtpServerは; // SMTPサーバーの指定
            _smtpClient.Credentials =新しいSystem.Net.NetworkCredential(PWDユーザー名 ); // ユーザ名とパスワード
            であれば(enablessl == 1 )
            {
                _smtpClient.EnableSsl = trueに;
            }
            _smtpClient.Port =ポートと

            _From =新しい新しいMailAddress MailAddress(strfrom、ニックネーム);
            MailAddressの_to =新しい新しいMailAddress(strto);
            はMailMessage _mailMessage =新新はMailMessage(_from、_to);
            _mailMessage.Subject = SUBJ; //テーマ
            _mailMessage.Body =のbodys; //コンテンツ
            _mailMessage .BodyEncoding = System.Text.Encoding.Default; //テキストエンコーディング
            _mailMessage.IsBodyHtml =真; // HTMLに設定
            _mailMessage.Priority = MailPriority.Normal; //優先順位

            アネックス//
            文字列[]パスfilepath.Split =( '');
            foreachの(文字列アイテムパスで)
            {
                (String.IsNullOrEmpty(項目))IF
                {
                    続行;
                }
                //プロジェクトファイルの位置に応じて、このパスがあってもよいです
                TEMP = @文字列"C:\ユーザー管理者\デスクトップ\のsendEmail \のsendEmail \" +項目;
                のFileStream =新しい新しいファイルのFileStream(TEMP、FileMode.Open、FileAccess.Read);
                文字列名= Path.GetFileName(file.name)。
                _mailMessage.Attachments.Add(新しい新しい添付ファイル(ファイル、名前、MediaTypeNames.Application.Octet));
            }

            _smtpClient.Send(_mailMessage)。
        }
        #endregion
    }
}

プロジェクト全体のディレクトリをドキュメント:

おすすめ

転載: blog.csdn.net/IT_0802/article/details/88838342