这曾经在旧服务器上运行,我备份了文件并让系统在新服务器上运行。数据库都是完整且连接的,文件都在那里,但每当用户想要注册时,他们都会收到“发送邮件失败”错误。
这是注册文件中处理激活邮件发送的行:
MailClass.MailGonder("info@mysite.com", TxtEMail.Text, "Aktivasyon Kodu", body, "info@mysite.com", "mypasswordishere", "mail.mysite.com", 587);
这是Mail_Class.cs文件,我非常肯定会处理整个邮件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
using System.Net;
namespace Sngl
{
public class MailClass
{
public MailClass() { }
public static void MailGonder(string kimden, string kime, string title, string body, string senderEmail, string senderPassword, string smtpServer, int port)
{
try
{
System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage(kimden, kime, title, body);
MyMailMessage.IsBodyHtml = true;
MyMailMessage.Priority = System.Net.Mail.MailPriority.High;
System.Net.NetworkCredential mailAuthentication = new
System.Net.NetworkCredential(senderEmail, senderPassword);
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient(smtpServer, port);
mailClient.EnableSsl = false;
mailClient.UseDefaultCredentials = false;
mailClient.Credentials = mailAuthentication;
mailClient.Send(MyMailMessage);
PropertyClass.Result = true;
}
catch (Exception ex)
{
PropertyClass.Result = false;
PropertyClass.Message = ex.Message;
}
}
}
}
那么我做错了什么?这曾经在旧服务器上工作,但为我设置它的人没有回复我的电子邮件或电话。我已经尝试了几个小时试图让它运行起来但没有任何效果。我尝试使用托管的内部子域作为邮件服务器,尝试使用ip,但它仍然是相同的结果。双重检查所有内容,电子邮件地址在那里,密码与文件中的密码相同。
我该怎么做才能知道什么是错的?任何帮助表示赞赏。
答案 0 :(得分:1)
您确定邮件服务器没有基于源IP执行某些身份验证/安全性吗?
您可以从Web服务器telnet到邮件服务器吗?例如telnet mailserverip port