sendMail static method

Future<FeedbackData> sendMail({
  1. required EmailConfig emailConfig,
  2. required FeedbackContent feedbackContent,
})

Implementation

static Future<FeedbackData> sendMail({
  required EmailConfig emailConfig,
  required FeedbackContent feedbackContent,
}) async {
  assert(emailConfig.toMailList.isNotEmpty);

  /// Send grid email standard content format
  /// Check more from https://app.sendgrid.com/guide/integrate WEB API
  String userEmail = feedbackContent.userEmail.isNotEmpty == true
      ? feedbackContent.userEmail
      : 'anonymous user';
  var bodyData = {
    "personalizations": [
      {
        "to": emailConfig.toMailList.map((email) => {"email": email}).toList()
      }
    ],
    "from": {"email": emailConfig.fromMail},
    "subject": emailConfig.emailSubject,
    "content": [
      {
        "type": "text/plain",
        "value":
            "Hi there,\n\nWe have received feedback from $userEmail.\n\nTitle: ${feedbackContent.title}\nDescription: ${feedbackContent.description} \n\nRegards"
      }
    ]
  };

  return await _sendSendGridMail(
      bodyData: bodyData, emailConfig: emailConfig);
}