sendEmail method
Future<String>
sendEmail({
- required String subject,
- required Sender sender,
- required List<
Recipient> reciepients, - String htmlEmail = "",
- String plainTextEmail = "",
- List<
Recipient> Cc = const [], - List<
Recipient> Bcc = const [], - Recipient? ReplyTo,
- String TemplateID = "",
- List<
File> Attachments = const [], - List<
InlinedAttachment> InlinedAttachments = const [],
Implementation
Future<String> sendEmail({
required String subject,
required Sender sender,
required List<Recipient> reciepients,
String htmlEmail = "",
String plainTextEmail = "",
// ignore: non_constant_identifier_names
List<Recipient> Cc = const [],
// ignore: non_constant_identifier_names
List<Recipient> Bcc = const [],
// ignore: non_constant_identifier_names
Recipient? ReplyTo,
// ignore: non_constant_identifier_names
String TemplateID = "",
//Load atachments
// ignore: non_constant_identifier_names
List<File> Attachments = const [],
// ignore: non_constant_identifier_names
List<InlinedAttachment> InlinedAttachments = const [],
})async{
Map<String,dynamic> emailMessage = {
"From" : _mapSender(sender),
"To" : _mapRecipients(reciepients),
"Subject" : subject,
"TextPart" : plainTextEmail,
"HTMLPart" : htmlEmail,
};
//Add optional fields here
if(Cc.isNotEmpty){
emailMessage.addAll({
"Cc" : _mapRecipients(Cc),
});
}
if(Bcc.isNotEmpty){
emailMessage.addAll({
"Bcc" : _mapRecipients(Bcc),
});
}
if(ReplyTo != null){
emailMessage.addAll({
"ReplyTo" : _mapRecipient(ReplyTo),
});
}
if(TemplateID.isNotEmpty){
emailMessage.addAll({
"TemplateID" : TemplateID,
});
}
if(Attachments.isNotEmpty){
emailMessage.addAll({
"Attachments" : await _mapAttachments(Attachments),
});
}
if(InlinedAttachments.isNotEmpty){
emailMessage.addAll({
"InlinedAttachments" : await _mapInlinedAttachments(InlinedAttachments),
});
}
//Add the resulting email message to the content to post variable
Map<String, dynamic> contentToPost = {
"SandboxMode" : false,
"Messages" : [
emailMessage,
],
};
String response = await SexyAPI(
url: "https://$apiKey:$secretKey@api.mailjet.com",
path: "/$emailAPIversion/send",
parameters: {},
).post(
headers: {
"Content-Type" : "application/json",
},
body: jsonEncode(contentToPost),
);
return response;
}