【发布时间】:2014-12-27 19:35:22
【问题描述】:
我有以下用 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" 接收消息) 所以我很好奇是什么原因造成的,想知道如何解决这个问题。
【问题讨论】:
-
第二种情况与 Gmail 有什么关系?您通过
rs.t-home.mk发送的电子邮件 - 通过该服务器发送的电子邮件如何最终进入您的 Gmail 发件箱? -
基本上,我是前端开发人员,托管我的页面的公司告诉我,我必须使用此设置。我仍然不知道这是如何工作的,因为我有 gmail那是通过 rs.t-home.mk 发送我的消息,但它正在工作,每当我从“from@gmail.com”发送邮件时,当我检查“sendTo@gmail.com”时,邮件是从“ from@gmail.com”,但是当我打开“from@gmail.com”时,文件夹发送为空
标签: c# email gmail smtpclient