C#将gmail邮件转发到另一个电子邮件地址

时间:2019-11-12 19:32:46

标签: c# email gmail-api

我的目标是检索在我的gmail帐户中一个标签下存在的所有电子邮件,并将这些电子邮件转发到另一个电子邮件地址。这是我到目前为止的内容:

string[] Scopes = { GmailService.Scope.GmailReadonly, GmailService.Scope.GmailSend, };
string ApplicationName = "APP NAME";
UserCredential credential;
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
    string credPath = "token.json";
    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(   
           GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
}
var service = new GmailService(new BaseClientService.Initializer()
{
    HttpClientInitializer = credential,
    ApplicationName = ApplicationName,
});

var labelList = service.Users.Messages.List("me@gmail.com");
labelList.LabelIds = "LABEL_NAME";
var emailListResponse = labelList.Execute();
if (emailListResponse != null && emailListResponse.Messages != null)
{
    foreach (var email in emailListResponse.Messages)
    {
       //THIS IS WHERE I WOULD LIKE TO FORWARD this email TO ANOTHER EMAIL ADDRESS?
       //How to set TO?
       //service.Users.Messages.Send(email, "me@gmail.com").Execute();
    }
}

我能够检索电子邮件,但是我不确定如何转发。谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

要转发邮件,您必须先获取它,然后将收件人的电子邮件添加到“收件人:”字段。

或者,您可以设置一个过滤器,将所有带有标签的电子邮件转发到另一个地址。