溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net中怎么實現(xiàn)發(fā)送郵件

發(fā)布時間:2021-07-22 16:41:22 來源:億速云 閱讀:145 作者:Leah 欄目:開發(fā)技術

這篇文章給大家介紹asp.net中怎么實現(xiàn)發(fā)送郵件,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

復制代碼 代碼如下:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mail;

/// <summary>
///mailhelper 的摘要說明
/// </summary>
public class mailhelper
{
    public mailhelper()
    {
        //
        //TODO: 在此處添加構造函數(shù)邏輯
        //
    }

    /// <summary>
    /// 郵件發(fā)送操作
    /// </summary>
    /// <param name="Addressee">收件人地址</param>
    /// <param name="From">發(fā)件人地址</param>
    /// <param name="sendpassword">發(fā)件人密碼</param>
    /// <param name="Copy">抄送人地址</param>
    /// <param name="secret">密送人地址</param>
    /// <param name="Subject">發(fā)送主題</param>
    /// <param name="Attachment">附件信息</param>
    /// <param name="Body">郵件內(nèi)容</param>
    public string SendeEmal(string Addressee, string From, string sendpassword, string Copy, string secret, string Subject, string Attachment, string Body)
    {
        MailMessage objMailMessage;
        MailAttachment objMailAttachment;


        // 創(chuàng)建郵件消息
        objMailMessage = new MailMessage();

        //發(fā)件人EMAIL
        objMailMessage.From = From;//源郵件地址

        //收件人EMAIL
        objMailMessage.To = Addressee; //目的郵件地址
        //郵件抄送
        objMailMessage.Cc = Copy;
        //郵件misong
        objMailMessage.Bcc = secret;


        //郵件主題
        objMailMessage.Subject = Subject; //發(fā)送郵件的標題

        //郵件內(nèi)容
        objMailMessage.Body = Body;//發(fā)送郵件的內(nèi)容

        // 創(chuàng)建一個附件對象
        if (Attachment != "")
        {
            objMailAttachment = new MailAttachment(Attachment);//發(fā)送郵件的附件 c:\\test.txt
            objMailMessage.Attachments.Add(objMailAttachment);//將附件附加到郵件消息對象中
        }

        //接著利用SMTP來發(fā)送郵件,需要使用Microsoft .NET Framework SDK v1.1和它以上的版本
        //基本權限
        objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
        //用戶名
        string name = From.Substring(0, From.IndexOf('@'));
        objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", name);
        //密碼
        objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", sendpassword);
        //如果沒有上述三行代碼,則出現(xiàn)如下錯誤提示:服務器拒絕了一個或多個收件人地址。服務器響應為: 554 : Client host rejected: Access denied
        //SMTP地址     
        string smtp = "smtp." + From.Substring(From.IndexOf('@') + 1);
        SmtpMail.SmtpServer = "smtp." + From.Substring(From.IndexOf('@') + 1);
        //開始發(fā)送郵件

        try
        {
            SmtpMail.Send(objMailMessage);
            return "郵件發(fā)送成功!";
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return ex.Message;
        }
        //核心代碼結束
    }
}

然后下來是自己做的一個demo--

前臺

復制代碼 代碼如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mail.aspx.cs" Inherits="information_mail"
    ValidateRequest="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="../Style/jquery/jquery.js" type="text/javascript"></script>
    <script src="../Style/jquery/jquery.validate.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">

        function gei() {
            var file_value = document.getElementById("File1").value;
            document.getElementById("HiddenField1").value = file_value;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        發(fā)給:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        抄送:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
        密送:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
        主題:<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
        內(nèi)容:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
        附件:<input id="File1" type="file" />
        <%--<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>--%>
        <br />
        <asp:Button ID="Button1" runat="server" Text="發(fā)送" OnClientClick="gei()" OnClick="Button1_Click" /><br />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </div>
    <asp:HiddenField ID="HiddenField1" runat="server" />
    </form>
</body>
</html>


后臺:

復制代碼 代碼如下:


protected void Button1_Click(object sender, EventArgs e)
    {        //實例郵件幫助類
        mailhelper mails = new mailhelper();

        string filePath = HiddenField1.Value;

        string a = mails.SendeEmal(TextBox1.Text, "郵件賬號", "郵件密碼", TextBox2.Text, TextBox4.Text, TextBox5.Text, filePath, TextBox3.Text);

        Label1.Text = a;
}

關于asp.net中怎么實現(xiàn)發(fā)送郵件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI