mxm1975
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 4seasons Цитата: У меня с этим все давно отработано на примере GoogleDrive | это чудесно, конечно, но я про синхронный вызов асинхронного метода из примера async\await context и прочие дедлоки (в консоли всё норм) Цитата: раз уж тебе Gmail API тоже нравится, может поможешь разобраться с кириллицей в содержимом письма | не уловил связи, но попробовал -- вроде-бы получилось Цитата: тема письма на кириллице в письме отображается правильно | у меня наоборот, но раз у тебя норм, то и ладно -- тем более где-то читал, что subject -- вообще 7bit не стал ничего делать Цитата: From: ... Reply-To: .... MIME-Version: 1.0 Date: .... Message-ID: ... Subject: =?UTF-8?B?cmF3IHRleHQgc3ViamVjdCAtIMOQwrbDkeKAucOR4oCaw5DCuMOR4oCYIMOQwrXDkSDDkQ==?= =?UTF-8?B?4oCaw5HFkiDDkMKyw5DCtcORIMOQwrXDkMK7w5DCuMOQwrU=?= To: ......@yahoo.com Content-Type: multipart/alternative; boundary="000000000000d6d49205e17185aa" Content-Length: 428 --000000000000d6d49205e17185aa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 KiBzb21lIGh0bWwgdGVzdCB0ZXh0INC90LUg0LvQtdC/0L4g0LvQuCDQvdC1INCx0Y/RiNC40YLR liAqDQo= --000000000000d6d49205e17185aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGI+IHNvbWUgaHRtbCB0ZXN0IHRleHQg0L3QtSDQu9C10L/QviDQu9C4INC90LUg0LHRj9GI0LjR gtGWIDwvYj4NCg== --000000000000d6d49205e17185aa-- | ну и немного кода Код: string credsFilePath = @"........\gmailAPI\client_secret_dev.json"; string[] Scopes = new []{ GmailService.Scope.GmailSend }; string credPath = "token.json"; var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync( (await GoogleClientSecrets.FromFileAsync(credsFilePath)).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)); var service = new GmailService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "API key GMail test", }); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var bodyBuilder = new BodyBuilder { TextBody = "raw text body токмо волею пославшей мя жоны", HtmlBody = "<b> some html test text не лепо ли не бяшиті </b>" }; using var mimeMessage = new MimeMessage { From = {InternetAddress.Parse(new ParserOptions(), fromEmailAddress)}, To = {InternetAddress.Parse(new ParserOptions(), toEmailAddress)}, ReplyTo = {InternetAddress.Parse(new ParserOptions(), fromEmailAddress)}, Subject = "raw text subject - жытиё есть веселие", Body = bodyBuilder.ToMessageBody(), }; mimeMessage.Prepare(EncodingConstraint.EightBit); var debugString = mimeMessage.ToString(); var formatOptions = new FormatOptions { International = true, ParameterEncodingMethod = ParameterEncodingMethod.Rfc2231, AllowMixedHeaderCharsets = true, }; using var ms = new MemoryStream(); mimeMessage.WriteTo(formatOptions, ms); var bytes = ms.ToArray(); var rawString = Base64UrlEncode(bytes); var message = new Message { Raw = rawString, }; var executeMessage = await service.Users.Messages.Send(message, "me").ExecuteAsync(); |
| Всего записей: 279 | Зарегистр. 31-07-2002 | Отправлено: 03:49 15-06-2022 | Исправлено: mxm1975, 03:53 15-06-2022 |
|