SMTP发送电子邮件脱机但不在线

时间:2011-07-04 09:01:47

标签: c# .net asp.net email smtpclient

我的私人主页上有一个简单的联系页面。

离线它完美无缺,在线没有任何反应。

有什么想法吗?

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        btnSend.Attributes.Add("onmouseover", "changeIMG('" + btnSend.ClientID + "', 'Images/Senden_Hover.jpg');");
        btnSend.Attributes.Add("onmouseout", "changeIMG('" + btnSend.ClientID + "', 'Images/Senden.jpg')");
    }
}

protected void btnSend_Click(object sender, ImageClickEventArgs e)
{
    if (!String.IsNullOrEmpty(txtNachricht.Text))
    {
        SendEmailUserContact(txtAbsender.Text, txtNachricht.Text);
        Response.Redirect("~/Contact_suc.aspx", false);
    }
}

public static void SendEmailUserContact(string betreff, string nachricht)
{
    SendEmail(betreff, nachricht, "von@exampl.com", "an@example.com");
}

private static void SendEmail(string betreff, string nachricht, string von, string an)
{
        ///Zambuu
        string strSmtpServer = "smtp.example.com";
        string strUser = "kontakt@example.com";
        string strPasswort = "xxx";

        MailMessage mail = new MailMessage();
        MailAddress from = new MailAddress(von);
        mail.To.Add(an);
        mail.From = from;
        mail.Subject = betreff;
        mail.Body = nachricht;

        string host = strSmtpServer;
        int port = 25;
        SmtpClient client = new SmtpClient(host, port);

        NetworkCredential nc = new NetworkCredential(strUser, strPasswort);
        client.Credentials = nc;

        client.Send(mail);        
}

1 个答案:

答案 0 :(得分:1)

我认为SMTP已批准发件人。因此,托管在线联系页面的计算机与您正在开发的计算机不同。您必须在托管该页面的计算机上的邮件服务器上授予访问权限。