public JsonResult CallEmailService(SendEmailData email) { Common.Data.JsonData json = new Common.Data.JsonData() { Result = true }; //查询邮件账户 EmailSystemSetting setting = RefreshAppSetting.GetSystemEmailAccount(); IEmailDataService es = IocMvcFactoryHelper.GetInterface <IEmailDataService>(); es.LogPath = InitAppSetting.LogPath; AppEmailData data = new AppEmailData() { Body = email.Body, From = setting.EmailAccount, Mailer = email.Mailer, To = email.To, Subject = email.Subject }; if (!string.IsNullOrEmpty(email.SendTime)) { data.SendTime = Convert.ToDateTime(email.SendTime); } json.Success = es.SendEmail(setting, data, setting.Smtp); json.AttachData = email; return(Json(json)); }
private async Task HandleRequestForDocumentEmailAsync(SendEmailData <RequestForDocumentData> result) { await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandleRequestForDocumentEmailAsync", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" + $"{Environment.NewLine}{result.ToJson()}"); var msg = await _emailGenerator.GenerateRequestForDocumentMsg(result.MessageData); await _smtpEmailSender.SendEmailAsync(result.EmailAddress, msg); }
public Task ProduceSendEmailCommand <T>(string partnerId, string mailAddress, T msgData) where T : IEmailMessageData { var data = SendEmailData <T> .Create(partnerId, mailAddress, msgData); var msg = new QueueRequestModel <SendEmailData <T> > { Data = data }; return(_queueExt.PutMessageAsync(msg)); }
private async Task HandlePlainTextEmail(SendEmailData <PlainTextData> result) { await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandlePlainTextEmail", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" + $"{Environment.NewLine}{result.ToJson()}"); var msg = new EmailMessage { Body = result.MessageData.Text, IsHtml = false, Subject = result.MessageData.Subject }; await _smtpEmailSender.SendEmailAsync(result.EmailAddress, msg, result.MessageData.Sender); }
public static void SendEmail([ActivityTrigger] SendEmailData emailData, [SendGrid(ApiKey = "SendGridKey")] out SendGridMessage message) { var approverEmail = new EmailAddress(emailData.Email); var senderEmail = new EmailAddress(Environment.GetEnvironmentVariable("SenderEmail")); var subject = "A task is awaiting approval"; var host = Environment.GetEnvironmentVariable("Host"); var functionAddress = $"{host}/api/Approval/{emailData.Id}"; var approvedLink = functionAddress + "?result=Approved"; var rejectedLink = functionAddress + "?result=Rejected"; var body = $"<a href=\"{approvedLink}\">Approve</a><br>" + $"<a href=\"{rejectedLink}\">Reject</a>"; message = MailHelper.CreateSingleEmail(senderEmail, approverEmail, subject, "", body); }
//点击发送时执行此函数 public async void ThisPage_SendEmailRequested(object sender, SendEmailData e) { EmailPresenter.ThisPage.LoadingActivation(true, "正在发送..."); //根据EmailSendType区分发送的邮件类型 switch (e.SendType) { case EmailSendType.NormalSend: { MimeMessage SendMessage = GetSendMessage(e.To, new MailboxAddress(EmailService.CallName, EmailService.UserName), e.Subject, e.Text, e.Attachments); await EmailProtocolServiceProvider.GetInstance().SendEmailAsync(SendMessage); break; } case EmailSendType.Reply: { MimeMessage message = (EmailPresenter.ThisPage.EmailList.SelectedItem as EmailItem).Message; MimeMessage ReplyMessage = GetReplyMessage(message, new MailboxAddress(EmailService.CallName, EmailService.UserName), e.Attachments, false, e.Text); await EmailProtocolServiceProvider.GetInstance().SendEmailAsync(ReplyMessage); break; } case EmailSendType.ReplyToAll: { MimeMessage message = (EmailPresenter.ThisPage.EmailList.SelectedItem as EmailItem).Message; MimeMessage ReplyMessage = GetReplyMessage(message, new MailboxAddress(EmailService.CallName, EmailService.UserName), e.Attachments, true, e.Text); await EmailProtocolServiceProvider.GetInstance().SendEmailAsync(ReplyMessage); break; } case EmailSendType.Forward: { MimeMessage message = (EmailPresenter.ThisPage.EmailList.SelectedItem as EmailItem).Message; MimeMessage ForwardMessage = GetForwardMessage(message, new MailboxAddress(EmailService.CallName, EmailService.UserName), e.To); await EmailProtocolServiceProvider.GetInstance().SendEmailAsync(ForwardMessage); break; } } await Task.Delay(1000); EmailPresenter.ThisPage.LoadingActivation(false); }