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

Email sending from 1and1 SMTP server

正在尝试从 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" 的错误 有人知道这个问题吗? 此致

海洛森,

您必须使用端口 587。

海洛森,

我遇到同样的问题一个星期了,我发现了这段代码(我不记得在哪里......所以作者非常感谢)。我的页面只有一个用于用户名的文本框和一个用于文本的文本区域以及一个用于发送电子邮件以与我联系的按钮(这就是为什么我在消息中将发件人的 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>