VB.NET在Godaddy Windows主机上配置邮件发送失败求助
问题:Godaddy Windows(Plesk)主机部署后邮件发送失败
本地环境中开发的“联系我们”表单可正常发送邮件,但部署到Godaddy Windows(Plesk)主机后完全失效。最初使用EASendmail NuGet包,本地运行正常但服务器端无法发送;随后参考Godaddy官方文档中针对C#的System.Net.Mail配置方案调整,本地测试可行但服务器仍失败。目前怀疑是web.config配置位置错误或防火墙限制,已尝试25、587端口,尚未测试465端口,寻求解决思路。
相关配置代码
<system.net> <mailSettings> <smtp from="your email address"> <network host="relay-hosting.secureserver.net" port="25" /> </smtp> </mailSettings> </system.net>
测试邮件发送的VB.NET子程序
Imports System.Net.Mail Public Sub testMail() Try Dim Smtp_Server As New SmtpClient Dim e_mail As New MailMessage() Smtp_Server.UseDefaultCredentials = False Smtp_Server.Credentials = New Net.NetworkCredential("MyEmail@gmail.com", "MyPassword") Smtp_Server.Port = 25 Smtp_Server.EnableSsl = True Smtp_Server.Host = "smtp.gmail.com" e_mail = New MailMessage() e_mail.From = New MailAddress("MyEmail@gmail.com.com") e_mail.To.Add("MyEmail@gmail.com") e_mail.Subject = "Test system.net.mail method" e_mail.IsBodyHtml = False e_mail.Body = "That worked from server!" Smtp_Server.Send(e_mail) 'MsgBox("Mail Sent") Catch error_t As Exception 'MsgBox(error_t.ToString) End Try End Sub
web.config中的配置位置
</connectionStrings> <system.net> <mailSettings> <smtp from="MyEmail@gmail.com"> <network host="relay-hosting.secureserver.net" port="25" /> </smtp> </mailSettings> </system.net> <system.web>
解决思路
- 代码与配置冲突:测试代码中硬编码了Gmail的SMTP参数(
smtp.gmail.com、端口25、EnableSsl=True),这会直接覆盖web.config中Godaddy的中继服务器配置。要么删除代码中的硬编码配置,让SmtpClient自动读取web.config的设置;要么统一使用Godaddy的SMTP参数。 - Godaddy中继服务器正确用法:
- 使用Godaddy官方提供的
relay-hosting.secureserver.net作为SMTP主机,该服务器无需验证凭据,也不需要启用SSL,端口固定用25即可。 - 代码中不要设置
Credentials、EnableSsl,直接实例化SmtpClient即可读取web.config配置:Dim Smtp_Server As New SmtpClient()
- 使用Godaddy官方提供的
- 修正代码中的错误:测试代码里发件人地址
MyEmail@gmail.com.com多了一个.com,这会导致地址无效,必须修正为正确的邮箱格式。 - 端口与防火墙排查:
- 尝试465端口(SSL),但优先推荐使用Godaddy自带的中继服务器(端口25),因为第三方SMTP(如Gmail)可能被Godaddy的出站防火墙限制。
- 登录Plesk面板检查防火墙规则,确认是否允许SMTP出站请求;同时检查主机是否开启了邮件相关的权限。
- 记录错误日志:取消Catch块中错误提示的注释,或者将错误信息写入服务器日志文件,错误详情是定位问题的关键(比如连接超时、认证失败、地址无效等)。
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

