Отправка электронной почты с помощью gmail api на языке C#
Привет Друзья,
C# Send Email using Gmail OAUTH Authentication
Заранее Спасибо
Что я уже пробовал:
Мне нужно отправить почту с помощью аутентификации Oauth.
C# Send Email using Gmail OAUTH Authentication
vb
"' копировать файл .JSON для меня.Приложения.Информация.Каталоге directorypath
Dim Scopes = GmailService.Scope.GmailSend Dim ApplicationName As String = "Gmail API .NET Quickstart" Dim credential As UserCredential Dim stream = New FileStream(My.Application.Info.DirectoryPath + "\client_secret.json", FileMode.Open, FileAccess.Read) Dim credPath As String = My.Application.Info.DirectoryPath + "\" credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, {Scopes}, "user", CancellationToken.None, New FileDataStore(credPath, True)).Result stream.Close() Dim service = New GmailService(New BaseClientService.Initializer() With {.HttpClientInitializer = credential, .ApplicationName = ApplicationName}) ' Define parameters of request. Dim request As UsersResource.LabelsResource.ListRequest = service.Users.Labels.List("me") ' List labels. Dim Labels As IList Labels = request.Execute().Labels If IsDBNull(Labels) = False And Labels.Count > 0 Then Dim labelItem As Label For Each labelItem In Labels Console.WriteLine("{0}", labelItem.Name) Next Else Console.WriteLine("No labels found.") End If Console.Read() ''''''''''''''.......
Есть ли какая-то конкретная причина, по которой вы отвечаете на вопрос, где ответ уже принят? Пожалуйста, не надо. Вас ждет много других вопросов без ответа.
Восемь месяцев от роду и уже раскрыта ... серьезно?
Посмотрим, поможет ли вам это .net-отправка электронной почты через SMTP-сервер Gmail с помощью C# - переполнение стека[^]
Спасибо за ответ, но это не совсем правильно. Мне нужно отправить почту с помощью Oauth.
У Google есть документация для OAuth, вы это проверяли https://developers.google.com/gmail/xoauth2_protocol
.Net краткое руководство | API Gmail | Разработчики Google[^]
Перейдите по верхней ссылке:
Измените эту строку кода
static string[] Scopes = { GmailService.Scope.GmailSend };
string plainText = "To: ra******@gmail.com,r*****@infosec.com\r\n" + "Subject: subject Test\r\n" + "Content-Type: text/html; charset=us-ascii\r\n\r\n" + "<h1>Body Test </h1>"; var newMsg = new Google.Apis.Gmail.v1.Data.Message(); newMsg.Raw = Program.Base64UrlEncode(plainText.ToString()); service.Users.Messages.Send(newMsg, "me").Execute();
public static string Base64UrlEncode(string input) { var inputBytes = System.Text.Encoding.UTF8.GetBytes(input); return Convert.ToBase64String(inputBytes).Replace("+", "-").Replace("/", "_").Replace("=", ""); }
Я получаю ошибку
Google.API.Запросы.RequestError
//Ошибочный Запрос[400]
//Ошибки[
// Сообщение[неверный запрос] местоположение[- ] причина[failedPrecondition] домен[глобальный]
//]
Учитывая многоязычную тему, черновик создается, но символы не декодируются правильно при создании Черновика. Есть какое-нибудь решение ?