我有以下代码,如果我发送一封邮件,它显示的电子邮件结尾失败,该如何解决呢?

public void Sendemail(string toaddr)
    {
        if (Editor1.Content == null)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Subject or Body of Email Should not be Empty...!');", true);
        }
        else
        {
            string[] arryaddr = toaddr.Split(',');
            MailMessage ms = new MailMessage();
            ms.IsBodyHtml = true;
            //ms.To.Add(new MailAddress("admin@digitalprintonline.co.uk"));
            ms.To.Add(new MailAddress(toaddr));
            string fromaddr = "admin@digitalprintonline.co.uk";
            for (int i = 0; i < arryaddr.Length; i++)
            {
                ms.Bcc.Add(new MailAddress(arryaddr[i].ToString()));
            }
            ms.From = new MailAddress(fromaddr);
            string subject = txtSubject.Text;
            ms.Subject = subject;
            string body = Editor1.Content;
            ms.Body = body;
            ms.Priority = MailPriority.Normal;
            SmtpClient smtp = new SmtpClient();

            smtp.Credentials = new System.Net.NetworkCredential("admin@digitalprintonline.co.uk", "dpo123");
            try
            {
                smtp.Send(ms);
                ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Email Sent Successfully...!');", true);
            }
            catch (Exception ex)
            {
            }
        }
    }


我有以下电子邮件设置

smtp from="admin@dpoweddings.co.uk"
network host="217.199.175.121"
port="25"
userName="admin@digitalprintonline.co.uk"
password="*****"
enableSsl="false"

最佳答案

SMTPClient使用SMTP(协议)发送电子邮件。因此,它需要有关SMTP服务器的详细信息。考虑下面的代码

        SmtpClient client = new SmtpClient();
        client.UseDefaultCredentials = false;
        client.Credentials = new NetworkCredential("username@gmail.com", "password");
        client.Port = 587;
        client.Host = "smtp.gmail.com";
        client.EnableSsl = true;


在上面的代码中,我们向SMTP客户端提供了以下信息,以使其正常工作


主机:SMTP服务器详细信息。如您所见,默认情况下,您使用@ gmail.com,但此处将其指定为smtp.gmail.com
端口:连接到SMTP服务器的端口
EnableSsl:如果需要ssl连接
凭据:应使用其凭据发送邮件的帐户。


您的代码缺少主机和端口(这也是凭据所必需的,默认情况下EnableSsl为false)

要在digitalprintonline.co.uk上了解SMTP服务器的详细信息(主机,端口,Ssl要求),必须与那里的管理员联系。或者,您可以将GMail SMTP服务器详细信息与GMail帐户凭据一起使用。

07-27 18:48