【问题标题】:Contact Form EMail not working联系表格电子邮件不起作用
【发布时间】:2012-09-06 23:21:11
【问题描述】:

我创建了一个联系人页面和联系人模型,其中 From SubjectMessage 作为字符串值。现在,当我尝试使用以下代码从我的开发环境发送电子邮件时,它不起作用。我浏览了一下寻找解决方案,但有几件事我不清楚,因为我没有经常处理这个问题。

这是我用来发送电子邮件的方法。评论部分也是尝试之一。 我得到的错误是:System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

我意识到这可能与我在 dev.env 上有关,是吗?我做错了什么?

public class Email
{
    public void Send(Contact contact)
    {
        MailMessage mail = new MailMessage(
            contact.From,
            ConfigurationManager.AppSettings["ContactEmail"],
            contact.Subject,
            contact.Message);
        //new SmtpClient().Send(mail);
        WebMail.Send(ConfigurationManager.AppSettings["ContactEmail"], contact.Subject, contact.Message, null, null, null, false, null);
    }
}

【问题讨论】:

  • 您是否在 web.config 中设置了 smtp 邮件设置?
  • 我做了,但这里的电子邮件不应该来自我在From 中输入的任何电子邮件。那是我不明白的部分...电子邮件实际上是来自输入From 的电子邮件还是仅说明是谁发送的,并且电子邮件实际上是从一些准备好的电子邮件地址到达的...
  • TBH 我正在使用 ActionMailer.NET,这真的很酷,因为我可以使用 Views 并发送这样的电子邮件。我建议你查一下。但是,由于 MVC 是一个框架,因此在那里发送电子邮件也应该很容易;自从我使用 ActionMailer.NET 以来,我还没有尝试过。
  • 嗯,这应该很容易...但这件事困扰了我几个小时,现在我想把我的键盘砸成小块... ^_^ 我会查找 ActionMailer 看看如何它去了。

标签: asp.net-mvc-3 razor


【解决方案1】:

你可以这样发送邮件吗?

internal static void SendEmail(MailAddress fromAddress, MailAddress toAddress, string subject, string body)
{
    var message = new MailMessage(fromAddress, toAddress)
                      {
                          Subject = subject,
                          Body = body
                      };

    var client = new SmtpClient("smtpServerName");
    client.Send(message);
}

参考。 asp.net mvc framework, automatically send e-mail

【讨论】:

  • 我可能可以,但问题是fromAddress 会一直变化。这对smtpServer 来说不是问题吗?我是否必须为输入的邮件创建某种识别器并生成服务器名称,还是有更友好的方法?
  • 它应该可以工作,因为 fromAddress 是一个可以传递任何东西的参数。
  • 那么,我不需要为不同的电子邮件地址单独设置smtpServer
  • 我不信,你去试试吧。
  • 我正在尝试。到目前为止没有工作。现在测试几件事。完成后会发回。测试就是这样。
【解决方案2】:

我认为您需要检查配置文件中的端口号。

【讨论】:

    猜你喜欢
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2017-10-19
    • 2015-09-22
    • 2017-03-05
    • 2019-07-26
    相关资源
    最近更新 更多