从1and1 SMTP服务器发送电子邮件

时间:2016-11-12 23:07:07

标签: c# asp.net email smtp webmail

尝试从ASP中的1and1 smtp服务器发送电子邮件:

 MailMessage Msg = new MailMessage();
        Msg.From = new MailAddress("admin@mywebsite.com");
        Msg.To.Add("personalmail");
        SmtpClient smtp = new SmtpClient("auth.smtp.1and1.fr",465);
        smtp.Credentials = new NetworkCredential("admin@mywebsite.com", "mypassword");
        smtp.EnableSsl = true;
        try
        {
            // smtp.Send(Msg);
            smtp.Send(Msg);
            return "ok";
        }
        catch (Exception e)
        {
            return e.ToString();
        }

代码进入catch中,出现错误名称:“net_io_connectionclosed” 有人知道这个问题吗? 此致

2 个答案:

答案 0 :(得分:3)

Hyrozen,

您必须使用端口587。

答案 1 :(得分:0)

Hyrozen,

我有一周相同的问题,我发现这个代码(我不记得在哪里......所以作者非常感谢)。我的页面只有一个用户名的文本框和一个textarea文本和一个按钮发送电子邮件与我联系(这就是为什么我把发件人的内容与FROM和TO一样在邮件中):

try
            {
                MailMessage message = new MailMessage();
                message.From = new MailAddress(ConfigurationManager.AppSettings["Sender"]);
                message.To.Add(ConfigurationManager.AppSettings["Sender"]);
                message.Subject = "Comentario de " + TB_nomcomplet.Text;
                message.IsBodyHtml = false;
                message.Body = TB_texteemail.Text;
                SmtpClient smtp = new SmtpClient();
                smtp.Host = ConfigurationManager.AppSettings["SmtpHost"];
                smtp.Credentials = new NetworkCredential("emailYours", "passwordYours");
                smtp.Send(message);

                LBL_messageEmail.Visible = true;
            }
            catch (Exception ex)
            {
                LBL_messageEmail.Text = "Error: " + ex.Message;
            }

在web.config中:

<appSettings>
  <add key="SmtpHost" value="smtp.1and1.com" />
  <add key="Sender" value="emailYours" />
</appSettings>