Sending Email

From OpenEMR Project Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
}