在没有用户名和密码的情况下在本地设置 SMTP
Setting up SMTP loally without username, password
我正在尝试设置 SMTP 中继,以便在没有用户名和密码的情况下从 Web 应用程序发送邮件。我读到您可以在 IIS 上进行本地设置并使用 "No Authentication"
在 web.config 中,这些是我的设置:
<appSettings>
<add key="SmtpServerAddress" value="localhost" />
<add key="SmtpServerPort" value="25" />
<add key="SmtpServerTimeout" value="30" />
</appSettings>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="">
<network host="localhost" port="25" />
</smtp>
</mailSettings>
我发送电子邮件的隐藏代码是:
SmtpClient sc = new SmtpClient();
sc.Host = "localhost";
sc.Port = 25;
sc.UseDefaultCredentials = true;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
sc.Send(mm);
}
catch (Exception ex)
{
throw ex;
}
当我提交点击事件来发送邮件时,我得到了"remote server not found"。
你能解释一下吗?
您无法添加 localhost
并开始发送电子邮件(除非确实存在 SMPT 服务器 运行)。您仍然需要一个 "real" SMTP 服务器。这些设置只不过是在 Web.Config.
中添加默认的 SMTP 服务器
如果您不在 IIS 中设置这些设置,您将像这样发送邮件。 SO 上可能有这样的例子。
using (SmtpClient client = new SmtpClient())
{
client.Host = "mail.fakedomain.nl";
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("fake@fakedomain.nl", "abcd123");
//send mail
}
但是如果你在 IIS 中设置默认设置,你可以这样做
using (SmtpClient client = new SmtpClient())
{
//send mail
}
节省了几行代码。
您是在您的开发计算机上尝试这个吗?如果是这样,您可以安装 hMailServer
我正在尝试设置 SMTP 中继,以便在没有用户名和密码的情况下从 Web 应用程序发送邮件。我读到您可以在 IIS 上进行本地设置并使用 "No Authentication"
<appSettings>
<add key="SmtpServerAddress" value="localhost" />
<add key="SmtpServerPort" value="25" />
<add key="SmtpServerTimeout" value="30" />
</appSettings>
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="">
<network host="localhost" port="25" />
</smtp>
</mailSettings>
我发送电子邮件的隐藏代码是:
SmtpClient sc = new SmtpClient();
sc.Host = "localhost";
sc.Port = 25;
sc.UseDefaultCredentials = true;
sc.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
sc.Send(mm);
}
catch (Exception ex)
{
throw ex;
}
当我提交点击事件来发送邮件时,我得到了"remote server not found"。
你能解释一下吗?
您无法添加 localhost
并开始发送电子邮件(除非确实存在 SMPT 服务器 运行)。您仍然需要一个 "real" SMTP 服务器。这些设置只不过是在 Web.Config.
如果您不在 IIS 中设置这些设置,您将像这样发送邮件。 SO 上可能有这样的例子。
using (SmtpClient client = new SmtpClient())
{
client.Host = "mail.fakedomain.nl";
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("fake@fakedomain.nl", "abcd123");
//send mail
}
但是如果你在 IIS 中设置默认设置,你可以这样做
using (SmtpClient client = new SmtpClient())
{
//send mail
}
节省了几行代码。
您是在您的开发计算机上尝试这个吗?如果是这样,您可以安装 hMailServer