C# 在c中使用smtp在同一线程中为gmail发送电子邮件#
我正在使用mail message类发送电子邮件。但如果我检查我的Gmail帐户,邮件将作为单独的邮件接收。我要一条线的邮件。我也在使用同一主题,并尝试在主题前添加“Re:”。这对我不起作用。 如果你能找到解决办法,我会很高兴的。下面是我正在使用的代码C# 在c中使用smtp在同一线程中为gmail发送电子邮件#,c#,email,C#,Email,我正在使用mail message类发送电子邮件。但如果我检查我的Gmail帐户,邮件将作为单独的邮件接收。我要一条线的邮件。我也在使用同一主题,并尝试在主题前添加“Re:”。这对我不起作用。 如果你能找到解决办法,我会很高兴的。下面是我正在使用的代码 public static bool SendEmail( string pGmailEmail, string pGmailPassword, string pTo, string pFrom, stri
public static bool SendEmail(
string pGmailEmail,
string pGmailPassword,
string pTo,
string pFrom,
string pSubject,
string pBody,
System.Web.Mail.MailFormat pFormat,
string pAttachmentPath)
{
try
{
System.Web.Mail.MailMessage myMail = new System.Web.Mail.MailMessage();
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserver",
"smtp.gmail.com");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpserverport",
"465");
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusing",
"2");
//sendusing: cdoSendUsingPort, value 2, for sending the message using
//the network.
//smtpauthenticate: Specifies the mechanism used when authenticating
//to an SMTP
//service over the network. Possible values are:
//- cdoAnonymous, value 0. Do not authenticate.
//- cdoBasic, value 1. Use basic clear-text authentication.
//When using this option you have to provide the user name and password
//through the sendusername and sendpassword fields.
//- cdoNTLM, value 2. The current process security context is used to
// authenticate with the service.
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//Use 0 for anonymous
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendusername",
pGmailEmail);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/sendpassword",
pGmailPassword);
myMail.Fields.Add
("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
"true");
myMail.From = pFrom;
myMail.To = pTo;
myMail.Subject = pSubject;
myMail.BodyFormat = pFormat;
myMail.Body = pBody;
if (pAttachmentPath.Trim() != "")
{
MailAttachment MyAttachment =
new MailAttachment(pAttachmentPath);
myMail.Attachments.Add(MyAttachment);
myMail.Priority = System.Web.Mail.MailPriority.High;
}
// System.Web.Mail.SmtpMail.SmtpServer = CCConstants.MAIL_SERVER;
System.Web.Mail.SmtpMail.Send(myMail);
return true;
}
catch
{
throw;
}
}
您应该知道线程启动器电子邮件的内部ID,然后您应该通过标题“回复:”或“引用:”将其发送回。 顺便说一句,通过gmail发送电子邮件相当简单:
var smtpClient = new SmtpClient("smtp.gmail.com",587);
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("USERNAME@gmail.com"
,"PASSWORD");
using (MailMessage message = new MailMessage("USERNAME@gmail.com","USERNAME@gmail.com"))
{
message.Subject = "test";
smtpClient.Send(message);
}
using (MailMessage message = new MailMessage("USERNAME@gmail.com","USERNAME@gmail.com"))
{
message.Subject = "Re: test";
message.Headers.Add("In-Reply-To", "<MESSAGEID.From.Original.Message>");
message.Headers.Add("References", "<MESSAGEID.From.Original.Message>");
smtpClient.Send(message);
}
var smtpClient=newsmtpclient(“smtp.gmail.com”,587);
smtpClient.DeliveryMethod=SmtpDeliveryMethod.Network;
smtpClient.EnableSsl=true;
smtpClient.UseDefaultCredentials=false;
smtpClient.Credentials=新的网络凭据(“USERNAME@gmail.com"
“密码”);
使用(MailMessage=newmailmessage(“USERNAME@gmail.com","USERNAME@gmail.com"))
{
message.Subject=“test”;
发送(消息);
}
使用(MailMessage=newmailmessage(“USERNAME@gmail.com","USERNAME@gmail.com"))
{
message.Subject=“Re:test”;
message.Headers.Add(“回复“,”);
message.Headers.Add(“References”,”);
发送(消息);
}