Sending Email

From OpenEMR Project Wiki

Pre 4.0, mechanism involved using openemr/library/classes/class.phpmailer.php , and was not standardized.

This is standardized as of version 4.0, and the new mechanism includes following files:

openemr/library/classes/class.phpmailer.php (upgraded to version 5.1)
openemr/library/classes/postmaster.php
openemr/library/classes/class.smtp.php

The following settings can be found in openemr/interface/globals.php:

//EMAIL SETTINGS
// EMAIL METHOD (PHPMAIL, SMTP, SENDMAIL)
$EMAIL_METHOD = "SMTP";
// HTML CHARSET
$HTML_CHARSET = "UTF-8";
// SMTP SETTINGS
$SMTP_Auth = true;
$SMTP_HOST = "";
$SMTP_PORT = 25;
$SMTP_USER = "";
$SMTP_PASS = "";

Here's an example of code using this mechanism :

require_once ($GLOBALS['srcdir'] . "/classes/postmaster.php");
$mail = new MyMailer();
$mail->From = $emailAddress;
$mail->FromName = $name;
$mail->Body = $emailContent;
$mail->Subject = $subject;
$mail->AddAddress($emailDestination, $firstNameDestination.", ".$lastNameDestination);
if(!$mail->Send()) {
  error_log("There has been a mail error sending to " . $firstNameDestination .
   " " . $mail->ErrorInfo);
  }
else
  {
  #email was sent
}