我在C#中编写了以下用于发送消息的代码:
bool ret = false;
MailAddress fromAddress = new MailAddress("addressfrom@gmail.com", "Name");
string fromPassword = "MyPassw";
try
{
SmtpClient smtp = new SmtpClient
{
//Host = "smtp.gmail.com",
//Port = 587,
//EnableSsl = true,
Host = "rs.t-home.mk",
Port = 25,
EnableSsl = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new System.Net.NetworkCredential(fromAddress.Address, fromPassword)
};
System.Web.UI.WebControls.MailDefinition md = new System.Web.UI.WebControls.MailDefinition();
md.From = "addressfrom@gmail.com";
md.IsBodyHtml = false;
md.Subject = subject;
System.Collections.Specialized.ListDictionary replacements = new System.Collections.Specialized.ListDictionary();
MailMessage msg = md.CreateMailMessage("mailTo@address.com", replacements, body, new System.Web.UI.Control());//belinaljupce@belina.com.mk
smtp.Send(msg);
ret = true;
}
catch
{
ret = false;
}
在本地测试此代码时,使用此SmtpClient设置:
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true
一切都很好,我可以发送消息,也可以发送到我的Gmail帐户的发送文件夹中,我可以看到所有发送来自此SmtpClient的消息
但是当我在服务器上发布此代码时,我必须使用此SmtpClient设置:
Host = "rs.t-home.mk",
Port = 25,
EnableSsl = false
我可以发送电子邮件,通常,它工作正常,但在我的Gmail帐户的发送文件夹中,我没有看到来自此SmtpClient的发送消息,尽管邮件已发送(我已经发送)选中," mailTo@address.com"收到消息) 所以我很好奇是什么导致了这一点,并想知道如何解决这个问题。
答案 0 :(得分:0)
我可以发送电子邮件,通常,它工作正常,但在我的Gmail帐户的发送文件夹中,我没有看到来自此SmtpClient的发送消息,虽然邮件已发送(我已检查过,并且“ mailTo@address.com“收到消息”所以我很好奇是什么导致了这一点,并想知道如何解决这个问题。
这是因为rs.t-home.mk
不是Gmail SMTP服务器。更简单的“修复”是将您的Gmail帐户包含在BCC中。