C# 在c中使用smtp在同一线程中为gmail发送电子邮件#

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

我正在使用mail message类发送电子邮件。但如果我检查我的Gmail帐户,邮件将作为单独的邮件接收。我要一条线的邮件。我也在使用同一主题,并尝试在主题前添加“Re:”。这对我不起作用。 如果你能找到解决办法,我会很高兴的。下面是我正在使用的代码

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”,”);
发送(消息);
}