public function sendEmailNotification($form, $files, $postData, $customEmail, $customSubject, $message, $html = true, $email = null)
{
$errors = false;
$attributes = $form->getAttributes();
$notificationSettings = $attributes['notificationSettings'];
$toEmails = ArrayHelper::stringToArray($notificationSettings['emailSettings']['notifyEmail']);
$emailSettings = craft()->email->getSettings();
if (isset($notificationSettings['replyTo']) && $notificationSettings['replyTo'] != '') {
$replyTo = $postData[$notificationSettings['replyTo']];
} else {
$replyTo = $emailSettings['emailAddress'];
}
// Process Subject Line
if ($customSubject) {
$subject = $customSubject;
} else {
$subject = $notificationSettings['emailSettings']['emailSubject'];
}
if ($customEmail != '') {
$theEmailAddress = explode('|', $customEmail);
ArrayHelper::prependOrAppend($toEmails, $theEmailAddress[0], true);
}
foreach ($toEmails as $toEmail) {
$email = new EmailModel();
$email->fromEmail = $emailSettings['emailAddress'];
$email->replyTo = $replyTo;
$email->sender = $emailSettings['emailAddress'];
$email->fromName = $form->name;
$email->toEmail = $toEmail;
$email->subject = $subject;
$email->htmlBody = $message;
// Attach files to email
if (!empty($files)) {
foreach ($files as $attachment) {
$email->addAttachment($attachment['tempPath'], $attachment['filename'], 'base64', $attachment['type']);
}
}
if (!craft()->email->sendEmail($email)) {
$errors = true;
}
}
return $errors ? false : true;
}