SMTP服务器名称和端口

3

我正在尝试使用asp.net中的简单按钮发送电子邮件。但是,我遇到了以下错误-"The transport failed to connect to the server"

  SmtpMail.SmtpServer = "localhost";

我使用localhost,因为我不知道我的计算机的SMTP服务器名称。如何解决这个问题?怎么知道SMTP服务器名称?我的操作系统是win xp。希望有人能帮助我...


2
你的电脑上安装了SMTP服务器吗? - Steve
@Sudheesh:SMTP服务器是否正在运行?它是否在标准端口上监听?您可以检查SMTP服务器的日志,看看那里是否有任何有用的信息? - David
你正在使用哪个版本的ASP.NET? - IrishChieftain
可能是找出SMTP服务器主机的重复问题。 - tripleee
3个回答

1

为了在本地测试电子邮件,请在您的C:\驱动器上设置一个名为“maildrop”的drop folder文件夹,并将以下内容添加到您的Web.Config文件中:

<system.net>
    <mailSettings>
        <smtp deliveryMethod='SpecifiedPickupDirectory'>
            <specifiedPickupDirectory pickupDirectoryLocation="c:\maildrop" />
        </smtp>
    </mailSettings>
</system.net>

ASP.NET:使用接收目录发送电子邮件

更新:

您应该使用更新的电子邮件库...

using System.Net.Mail;

MailMessage msg = new MailMessage(); 
msg.To = "sudheej.j800@outlook.com"; 
msg.From = "sudheej.j800@gmail.com"; 
msg.Subject = "hi"; 
msg.Body = "yes"; 

SmtpClient smtpClient = new SmtpClient("localhost");
smtpClient.Send(msg);

邮件文件夹里什么都没有?这应该可以解决...请展示你创建和设置SmtpClient对象和端口属性的代码。 - IrishChieftain
MailMessage msg = new MailMessage(); msg.To = "sudheej.j800@outlook.com"; msg.From = "sudheej.j800@gmail.com"; msg.Subject = "你好"; msg.Body = "是的"; SmtpMail.SmtpServer = "localhost";SmtpMail.Send(msg); - Sudix
无法建立连接,因为目标计算机积极拒绝了 127.0.0.1:25。现在这就是错误。谢谢。 - Sudix
<system.net> <mailSettings> <smtp from=""> <network defaultCredentials="true" host="localhost" password="" userName="" /> </smtp> </mailSettings> </system.net>它可能会起作用。 - Sudix

0

标准的SMTP运行在25号端口。如果您的计算机上没有任何程序监听25号端口,那么您可能没有运行SMTP服务器。请尝试以下操作:

telnet localhost 25

看看是否连接到了某个东西。我怀疑没有(即您在本地主机上没有SMTP服务器)


0

在执行此操作之前,您需要在计算机上安装一个SMTP服务器。


我认为这可以帮助你。https://dev59.com/aXI_5IYBdhLWcg3wBuX3 - Felipe Ardila
你可以使用你的 Gmail 账户来测试它! - Felipe Ardila

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接