Skip to content

Commit

Permalink
fix: exposed a few more props to send emails
Browse files Browse the repository at this point in the history
  • Loading branch information
pksorensen committed Aug 26, 2024
1 parent 954619f commit dc3082e
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/Authentication/Passwordless/PasswordlessEasyAuthProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ private string MaskEmail(string email)
return $"{maskedLocalPart}{domain}";
}

public async Task SendEmailAsync(Guid emailId, string subject, string sender, string to_emails, string msgHtml, string msgPlain, string sender_displayname=null)
public async Task SendEmailAsync(Guid emailId, string subject, string sender, string to_emails, string msgHtml, string msgPlain,
string sender_displayname=null, string to_cc_emails=null, Action<MailMessage> configure=null, bool opentrack=false, bool clicktrack=false)
{
var options = JToken.FromObject(new
{
Expand All @@ -103,8 +104,8 @@ public async Task SendEmailAsync(Guid emailId, string subject, string sender, st
},
filters = new
{
opentrack = new { settings = new { enable = 0 } },
clicktrack = new { settings = new { enable = 0 } }
opentrack = new { settings = new { enable = opentrack?1: 0 } },
clicktrack = new { settings = new { enable = clicktrack?1:0 } }
}
});

Expand All @@ -116,7 +117,13 @@ public async Task SendEmailAsync(Guid emailId, string subject, string sender, st
{
mailMessage.To.Add(new MailAddress(email));
}

if(!string.IsNullOrEmpty(to_cc_emails))
{
foreach (var email in to_cc_emails.Split(',', ';'))
{
mailMessage.CC.Add(new MailAddress(email));
}
}
mailMessage.From = new MailAddress(sender,sender_displayname,Encoding.UTF8);

var view = AlternateView.CreateAlternateViewFromString(msgHtml, null, MediaTypeNames.Text.Html);
Expand All @@ -127,6 +134,8 @@ public async Task SendEmailAsync(Guid emailId, string subject, string sender, st
mailMessage.Body = msgHtml;
mailMessage.Headers.Add("X-SMTPAPI", options.ToString());

configure?.Invoke(mailMessage);

_logger.LogInformation("Sending email to {email} with emailid {emailid} from {sender}",
string.Join(",", to_emails.Split(',', ';').Select(email=> MaskEmail(email))),
emailId, sender);
Expand Down

0 comments on commit dc3082e

Please sign in to comment.