• 简单的发送邮件功能 潜龙勿用


    在互联网竞争日趋激烈的今天,邮箱成为了每位工作人士必不可少的一样辅助工具,我呢,每日都要发送邮件,对邮件的发送当然其原理也很简单,下面简单的实现以下发送的代码:

    首先,设计了一下界面:

    <div >
    <table>
    <tr><td>收件人:</td><td><input type="text" id="ReceveEmail" /></td></tr>
    <tr><td>主题:</td><td><input type="text" id="Themes" /></td></tr>
    <tr><td>附件:</td><td><input type="file" id="attach" name="attach" runat="server" /></td></tr>
    <tr><td>正文:</td><td><textarea cols="40" rows="10" id="Content"></textarea></td></tr>
    </table>
    <input type="button" id="SendEmail" value="发送" onclick="SendEmail()"/><span id="Send" style="display:none" >Sending.....</span>
    </div>

    这里呢,我是用Ajax来实现的,但是有一个问题没能解决,就是在Firefox下邮件的附件不能进行发送了很遗憾,希望各位大虾多多指教,当点击"发送"时,解释执行以下这段脚本

    <script type="text/javascript" language="javascript">
    function SendEmail() {
    var ReceveEmail = $("#ReceveEmail").val();

    var Themes = $("#Themes").val();
    var Content = $("#Content").val();
    var Attach ='<%=FilePath %>';
    if (navigator.userAgent.indexOf("MSIE") != -1) {
    Attach
    = document.getElementById("attach").value;
    }
    else if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Mozilla") != -1) {
    try {
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                }
                catch (e) {
                     alert('此操作被浏览器拒绝!请在浏览器地址栏输入"about:config"并回车然后将[signed.applets.codebase_principal_support]设置为"true"');
                    return;
                }
                var  Attach= document.getElementById("attach").value;
    //          var Attach = document.getElementById("attach").files[0].getAsDataURL();
                var file = Components.classes["@mozilla.org/file/local;1"]
            .createInstance(Components.interfaces.nsILocalFile);
                try {
                    // Back slashes for windows
                    file.initWithPath(Attach);
                }
                catch (e) {
                    if (e.result != Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
                    alert(' 无法加载文件 ');
                    return;
                }
    }
    if (ReceveEmail != "" || Themes != "" || Content != "") {
    $.ajax({
    type:
    "POST",
    url:
    "../AjaxPro.aspx?_Action=SendEmail",
    data: {
    "ReceveEmail": escape(ReceveEmail), "Themes": Themes, "Content": Content, "Attach": Attach },
    beforeSend:
    function () {
    $(
    "#Send").show();
    },
    success:
    function (Msg) {
    if (Msg) {
    $(
    "#Send").hide();
    alert(Msg);
    }
    }

    });
    }

    }


    </script>

    将值post到了"../AjaxPro.aspx?_Action=SendEmail"这个页面进行处理

    ///[code=csharp]
    ///[WebMethod]
    /// <summary>
    /// 简单的邮箱发送功能
    /// </summary>
    public void SendEmail()
    {
    string ReceviceEmail=Request["ReceveEmail"].Trim().ToString();
    string Themes=Request["Themes"].Trim().ToString();
    string Content=Request["Content"].Trim().ToString();
    string Attach = Request["Attach"].Trim().ToString();
    string[] ToEmail=Regex.Split(ReceviceEmail,";",RegexOptions.IgnoreCase);
    string DisplayName = "";
    string Addre = "";
    MailMessage message
    = new MailMessage();
    //这里是对邮件群发的设置
    foreach (string Name in ToEmail)
    {
    if (Name != string.Empty)
    {
    if (Name.IndexOf("<") > 0)
    {
    DisplayName
    = Name.Substring(0, Name.IndexOf("<"));
    Addre
    = Name.Substring((Name.IndexOf("<") + 1)).Replace(">", "");

    }
    else
    {
    DisplayName
    = string.Empty;
    Addre
    = Name.Substring((Name.IndexOf("<") + 1)).Replace(">", "");
    }
    message.To.Add(
    new MailAddress(Addre,DisplayName));
    }
    }

    message.Attachments.Add(
    new Attachment(Attach));
    //设置邮箱的主题
    message.Subject = Themes;
    //设置邮箱主题内容的编码格式
    message.SubjectEncoding = Encoding.Default;
    //设置邮件的正文
    message.Body = Content;
    //设置邮件正文格式为默认的
    message.BodyEncoding = Encoding.Default;
    //设置邮件正文格式为UTF-8的
    //message.BodyEncoding = System.Text.Encoding.UTF8;
    message.IsBodyHtml = true;
    //邮件的发件人的地址
    message.From=new MailAddress("345686955@qq.com","孙旭柱");
    //设置此邮件的优先级
    message.Priority = MailPriority.Normal;

    //这里设置qq的SMTP服务器地址
    SmtpClient client = new SmtpClient();
    client.Host
    = "smtp.qq.com";
    //设置端口号
    client.Port = 25;
    client.UseDefaultCredentials
    = false;
    //获取或设置用于验证发件人身份的凭据
    client.Credentials = new System.Net.NetworkCredential("345686955@qq.com", "!sun3456");
    //制定如何处理待发的邮件
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    //发送邮件
    client.Send(message);
    Msg
    = "发送成功";



    }

    就这样简单的邮箱发送功能就实现了,在火狐下要进行设置,在地址栏中输入about:confing然后按提示进行设置就可以了,当中对邮箱没有进行格式的验证,以及为空的验证,这里设置的是qqde SMTP的服务器地址,如有哪里写的不妥之处请来信指教

    谢谢!

  • 相关阅读:
    xyplorer设置备忘
    如何在CentOS 8上安装Python2 Python3
    为CentOS 8操作系统安装MySQL的方法,以安装MySQL 8为例
    SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking
    Linux常用命令大全
    转载:php的几种常用的数据交换格式
    转:GBK编码 VS UTF8编码
    转载:中文在UTF8和GBK编码中的范围
    转:SDL Specification and Description Language 简介
    转:Java中Split函数的用法技巧
  • 原文地址:https://www.cnblogs.com/dragonbattlesun/p/2027704.html
Copyright © 2020-2023  润新知