コード例 #1
0
        public void SendEmail(GmailService service, string userId, Email email)
        {
            var mailMessage = new System.Net.Mail.MailMessage();

            mailMessage.From = new System.Net.Mail.MailAddress(email.From);
            mailMessage.To.Add(email.To);
            mailMessage.ReplyToList.Add(email.From);
            mailMessage.Subject    = email.Subject;
            mailMessage.Body       = email.Message;
            mailMessage.IsBodyHtml = true;

            foreach (var ccn in email.Ccn)
            {
                mailMessage.Bcc.Add(ccn);
            }

            //foreach (System.Net.Mail.Attachment attachment in email.Attachments)
            //{
            //    mailMessage.Attachments.Add(attachment);
            //}

            var mimeMessage = MimeKit.MimeMessage.CreateFromMailMessage(mailMessage);

            var gmailMessage = new Google.Apis.Gmail.v1.Data.Message
            {
                Raw = Encode(mimeMessage.ToString())
            };

            Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(gmailMessage, userId);

            request.Execute();
        }
コード例 #2
0
ファイル: GmailAPI.cs プロジェクト: RodCross/tablesoft
        public static void SendEmail(YanapayEmail email, GmailService service)
        {
            var mailMessage = new System.Net.Mail.MailMessage();

            mailMessage.From = new System.Net.Mail.MailAddress(email.FromAddress);
            mailMessage.To.Add(email.ToRecipients);
            mailMessage.ReplyToList.Add(email.FromAddress);
            mailMessage.Subject         = email.Subject;
            mailMessage.Body            = email.Body;
            mailMessage.IsBodyHtml      = email.IsHtml;
            mailMessage.BodyEncoding    = System.Text.Encoding.GetEncoding("ISO-8859-1");
            mailMessage.HeadersEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
            mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");

            var mimeMessage = MimeKit.MimeMessage.CreateFromMailMessage(mailMessage);

            var gmailMessage = new Google.Apis.Gmail.v1.Data.Message
            {
                Raw = Encode(mimeMessage.ToString())
            };

            Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(gmailMessage, "me");

            request.Execute();
        }
コード例 #3
0
        public void SendEmail(string senderAddress, string address, string body, string attachmentPath)
        {
            credential = GetCredentials();
            var service = GetService(credential);

            System.Net.Mail.MailMessage message = CreateMimeMessage(senderAddress, address, body);
            var gmailMessage = new Google.Apis.Gmail.v1.Data.Message
            {
                Raw = Base64UrlEncode(message.ToString())
            };

            Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(gmailMessage, senderAddress);

            var result = request.Execute();

            MessageBox.Show($"Mail sent - {result.Id}");
        }
コード例 #4
0
        private void sendMailAsync(System.Net.Mail.MailMessage mailMessage)
        {
            var mimeMessage = MimeKit.MimeMessage.CreateFromMailMessage(mailMessage);

            var gmailMessage = new Google.Apis.Gmail.v1.Data.Message
            {
                Raw = Encode(mimeMessage.ToString())
            };


            UserCredential credential;

            using (var stream =
                       new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
            {
                // The file token.json stores the user's access and refresh tokens, and is created
                // automatically when the authorization flow completes for the first time.
                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);
            }

            // Create Gmail API service.
            var service = new GmailService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName,
            });

            Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(gmailMessage, "me");

            request.Execute();
        }
コード例 #5
0
        public void sendEmail(string to, string from, string subject, string body, bool isHtml = true)
        {
            // If modifying these scopes, delete your previously saved credentials
            // at ~/.credentials/gmail-dotnet-quickstart.json
            string[] Scopes          = { GmailService.Scope.GmailCompose };
            string   ApplicationName = "Gmail API .NET Quickstart";

            UserCredential credential;

            using (var stream =
                       new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
            {
                // The file token.json stores the user's access and refresh tokens, and is created
                // automatically when the authorization flow completes for the first time.
                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);
            }

            // Create Gmail API service.
            var service = new GmailService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName,
            });

            var message = createEmail(to, from, subject, body, isHtml);

            Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(message, from);

            request.Execute();
        }
コード例 #6
0
ファイル: GmailService.cs プロジェクト: RenatGaliew/-
        public bool SendMail(Person person)
        {
            var builder = new BodyBuilder();
            var orden1  = builder.LinkedResources.Add("message/orden1.png");

            orden1.ContentId    = "orden1";
            orden1.IsAttachment = false;
            var orden2 = builder.LinkedResources.Add("message/orden2.png");

            orden2.ContentId    = "orden2";
            orden2.IsAttachment = false;
            var orden3 = builder.LinkedResources.Add("message/orden3.png");

            orden3.ContentId    = "orden3";
            orden3.IsAttachment = false;
            var emblema = builder.LinkedResources.Add("message/emblema.png");

            emblema.ContentId    = "emblema";
            emblema.IsAttachment = false;

            builder.HtmlBody = File.ReadAllText("../../body.html", Encoding.UTF8);
            builder.Attachments.Add(person.PDFPath);
            builder.Attachments.Add(FileSogl);
            var messageMime = new MimeMessage {
                Body = builder.ToMessageBody()
            };

            messageMime.From.Add(new MailboxAddress("Научная рота ВАС", EMAIL_NR));
            messageMime.To.Add(new MailboxAddress(person.Name, person.email));
            messageMime.Subject = "Заявка в научную роту ВАС";

            string tmp1 = messageMime.ToString();

            tmp1 = tmp1.Replace("&FIO", $"Уважаемый {person.Name} {person.Patronomyc}!");
            tmp1 = tmp1.Replace("&TEXT1", @"Поздравляем Вас с прохождением первого этапа отборочной 
комиссии для прохождения военной службы по призыву в Военной академи связи имени Маршала Советского Союза 
С.М. Будённого города Санкт-Петербург!");
            tmp1 = tmp1.Replace("&TEXT2", @"Для продолжения участия в отборе просим Вас перейти по ссылке 
и заполнить вторую форму, касающуюся Ваших достижений в научной деятельности:");
            tmp1 = tmp1.Replace("&btnTEXT", @"Подтверждающие документы призывника");
            tmp1 = tmp1.Replace("&TEXT3",
                                @"Кроме того, просим Вас ознакомиться с документами прикрепленными к данному письму.");
            tmp1 = tmp1.Replace("&TEXT4", @"С уважением,");
            tmp1 = tmp1.Replace("&TEXT5", @"Члены отборочной комиссии Военной академии связи!");

            var gmailMessage = new Message
            {
                Raw = Encode(tmp1)
            };

            SendRequest request = GMailService.Users.Messages.Send(gmailMessage, EMAIL_NR);

            try
            {
                request.Execute();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
コード例 #7
0
        public void GenerateEmail(string toP, string fromP, string subjectP, string bodyP)
        {
            try
            {
                //String serviceAccountEmail = "*****@*****.**";

                //var certificate = new X509Certificate2(@"servicemanager.p12", "notasecret", X509KeyStorageFlags.Exportable);

                //ServiceAccountCredential credential = new ServiceAccountCredential(
                //   new ServiceAccountCredential.Initializer(serviceAccountEmail)
                //   {
                //       Scopes = new[] { GmailService.Scope.GmailCompose, GmailService.Scope.GmailSend, GmailService.Scope.GmailInsert },
                //       User = "******"
                //   }.FromCertificate(certificate));

                //// Create the service.
                //var gmail = new GmailService(new BaseClientService.Initializer()
                //{
                //    HttpClientInitializer = credential,
                //    ApplicationName = ApplicationName,
                //});

                //using (var client = new SmtpClient())
                //{
                //    client.Connect("smtp.gmail.com", 587);

                //    // use the OAuth2.0 access token obtained above
                //    var oauth2 = new SaslMechanismOAuth2("*****@*****.**", credential.Token.AccessToken);
                //    client.Authenticate(oauth2);

                //    client.Send(message);
                //    client.Disconnect(true);
                //}



                UserCredential credential;
                using (var stream =
                           new FileStream("credentials.json", FileMode.Open, FileAccess.ReadWrite))
                {
                    string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
                    credPath   = Path.Combine(credPath, ".credentials/testarmin.json");
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync
                                 (
                        GoogleClientSecrets.Load(stream).Secrets,
                        Scopes,
                        "me",
                        CancellationToken.None,
                        new FileDataStore((credPath), true)
                                 ).Result;
                }
                var gmail = new GmailService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = ApplicationName,
                });


                var message = new MimeMessage();
                message.From.Add(new MailboxAddress(fromP));
                message.To.Add(new MailboxAddress(toP));
                message.Subject = subjectP;
                message.Body    = new TextPart("plain")
                {
                    Text = @"Hey"
                };


                var rawMessage = "";
                using (var stream = new MemoryStream())
                {
                    message.WriteTo(stream);
                    rawMessage = Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length)
                                 .Replace('+', '-')
                                 .Replace('/', '_')
                                 .Replace("=", "");
                }
                var gmailMessage = new Google.Apis.Gmail.v1.Data.Message {
                    Raw = rawMessage
                };

                Google.Apis.Gmail.v1.UsersResource.MessagesResource.SendRequest request = gmail.Users.Messages.Send(gmailMessage, fromP);
                request.Execute();
            }
            catch (Exception e)
            {
                throw e;
            }
        }