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(); }
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(); }
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}"); }
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(); }
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(); }
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); } }
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; } }