Sending Email

From OpenEMR Project Wiki
Revision as of 22:15, 27 January 2010 by Bradymiller (talk | contribs)

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

This is standardizing as of version 3.3.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 (this is preliminary):

require_once ($GLOBALS['srcdir'] . "/classes/postmaster.php");
$mail = new MyMailer();
$mail->From = $emailAddress;
$mail->FromName = $name;
$mail->isMail();
$mail->Host = "localhost";
$mail->Mailer = "mail";
$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
}