首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#通过Gmail编程发送电子邮件

是一种使用C#编程语言与Gmail电子邮件服务进行交互的方法。通过这种方式,开发人员可以使用C#编写代码来自动发送电子邮件,实现自动化的邮件发送功能。

C#是一种面向对象的编程语言,由微软开发并广泛应用于Windows平台。它具有简洁、安全、高效的特点,适用于各种应用程序的开发。

Gmail是由Google提供的免费电子邮件服务,具有强大的功能和稳定的性能。通过Gmail,用户可以发送和接收电子邮件,并进行邮件管理、搜索、过滤等操作。

在C#中通过Gmail编程发送电子邮件,可以使用Google提供的Gmail API进行操作。Gmail API是一组用于与Gmail进行交互的RESTful API,开发人员可以使用它来访问用户的Gmail帐户,并执行发送邮件、搜索邮件、删除邮件等操作。

以下是使用C#通过Gmail编程发送电子邮件的基本步骤:

  1. 创建一个Google Cloud Platform(GCP)项目,并启用Gmail API。
  2. 在GCP项目中创建OAuth 2.0客户端ID,以获取访问Gmail API的凭据。
  3. 在C#项目中引用Google.Apis.Gmail和Google.Apis.Auth NuGet包。
  4. 使用OAuth 2.0凭据进行身份验证,并获取访问令牌。
  5. 使用Gmail API发送电子邮件。

以下是一个示例代码,演示如何使用C#通过Gmail编程发送电子邮件:

代码语言:txt
复制
using Google.Apis.Auth.OAuth2;
using Google.Apis.Gmail.v1;
using Google.Apis.Gmail.v1.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using System;
using System.IO;
using System.Threading;

namespace GmailAPISample
{
    class Program
    {
        static string[] Scopes = { GmailService.Scope.GmailCompose, GmailService.Scope.GmailSend };
        static string ApplicationName = "Gmail API C# Sample";

        static void Main(string[] args)
        {
            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 email = CreateEmail("sender@gmail.com", "recipient@gmail.com", "Test Subject", "Test Body");
            SendEmail(service, "me", email);

            Console.WriteLine("Email sent!");
        }

        public static Message CreateEmail(string sender, string recipient, string subject, string body)
        {
            var email = new MimeKit.MimeMessage();
            email.From.Add(new MimeKit.MailboxAddress("", sender));
            email.To.Add(new MimeKit.MailboxAddress("", recipient));
            email.Subject = subject;
            email.Body = new MimeKit.TextPart("plain")
            {
                Text = body
            };

            using (var stream = new MemoryStream())
            {
                email.WriteTo(stream);
                return new Message
                {
                    Raw = Convert.ToBase64String(stream.ToArray())
                };
            }
        }

        public static void SendEmail(GmailService service, string userId, Message email)
        {
            service.Users.Messages.Send(email, userId).Execute();
        }
    }
}

在上述示例代码中,首先需要创建一个GCP项目,并在其中启用Gmail API。然后,将GCP项目的凭据文件(credentials.json)放置在C#项目的根目录下。代码中使用GoogleWebAuthorizationBroker类进行OAuth 2.0身份验证,并获取访问令牌。最后,使用GmailService类发送电子邮件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用Evolution收发Mail啦!

我有两个mailbox,sohu和gmail的,下面分别介绍设置方法。 I sohu的设置 1 . 点击Forward进入Receiving Email设置。在Server Type中选择POP。如果你不知道选择哪个选项,你需要到Email提供商的网站查找或者直接咨询你的Email提供商。在Server栏中输入 pop3.sohu.com。Use Secure Connection选项这里选择Never,你也可以选择Whenever Possible,具体看你的Email提供商所提供的方式。点击Check for Supported Types查找Email服务器支持的Authentication Type,这里我选择PassWord。然后你可以看是否需要选上Remeber password选项。 2 . 点击Forward进入Receiving Options设置。如果你不知道里面的选项是什么意思,你就一个也不用选择。 3. 点 击Forward进入Sending Email设置。Server Type选择SMTP。在Server栏中输入smtp.sohu.com,并且选上Server requires authentication,Use Secure Connection选择同上。在Authentication的Type栏中选择Login。 4. 你已经完成sohu.com的Email设置了。一直点击Forward直到完成。 II gmail的设置     gmail事的设置方法与sohu大致相同,不同的是pop server添为pop.gmail.com,而且可以用加密收发的方式。 1 . 首先在Gmail中设置pop:登陆帐号之后点击Setting,进入帐号的设置功能界面,选择启用pop功能。    2. 启动Evolution。 3. 点击“编辑”──首选项。 4. 点击添加(账户)/注:如果你已经设置过gmail账户,则可以点击编辑。 5 在名称里输入你的名字,在请求的信息中全名和电子邮件地址都填写你的Email地址。填好之后点击接收电子邮件标签。 6. 接收电子邮件:服务器类型:POP; 服务器:pop.gmail.com:995 用户名:你的gmail地址,如username@gmail.com 使用安全链接:SSL加密; 记住密码。设置好后点击下一个标签 (POP服务器地址:pop.gmail.com 端口:995支持SSL) 7. 接收选项:按自己喜欢设置,并不影响gmail是否在evolution中工作。 8. 发送电子邮件:服务器类型:smtp; 服务器:smtp.gmail.com;: 465 服务器需要认证:选中; 使用安全链接,SSL加密; 身份验证:用默认的"Plain"; 用户名:同你的邮件地址 ,如username@gmail.com,最后记住密码。(SMTP服务器地址: smtp.gmail.com 端口:465 或者 587 支持SSL ) 9. 默认选项卡可以依喜好设置,或保持默认。 10. 点击应用,完成设置。

02
领券