Add reply-to on email receipt

This commit is contained in:
Skylar Ittner 2025-11-08 13:37:36 -07:00
parent e8ef31d86f
commit f45a2a1acb
3 changed files with 29 additions and 1 deletions

View File

@ -7,6 +7,7 @@ class Email {
private $subject = ""; private $subject = "";
private $body = ""; private $body = "";
private $html = "";
private $attachments = []; private $attachments = [];
private $to = []; private $to = [];
private $fromaddress = ""; private $fromaddress = "";
@ -17,6 +18,7 @@ class Email {
private $smtpusername = ""; private $smtpusername = "";
private $smtppassword = ""; private $smtppassword = "";
private $smtpsecurity = ""; private $smtpsecurity = "";
private $replyto = "";
public function setFrom(string $address, string $name = "") { public function setFrom(string $address, string $name = "") {
$this->fromaddress = $address; $this->fromaddress = $address;
@ -35,10 +37,18 @@ class Email {
$this->body = $body; $this->body = $body;
} }
public function setHtmlBody(string $html) {
$this->html = $html;
}
public function addAttachment(string $filename, string $name = "") { public function addAttachment(string $filename, string $name = "") {
$this->attachments[$filename] = $name; $this->attachments[$filename] = $name;
} }
public function setReplyTo(string $em) {
$this->replyto = $em;
}
public function addTo(string $email) { public function addTo(string $email) {
$this->to[] = $email; $this->to[] = $email;
} }
@ -79,10 +89,24 @@ class Email {
$mail->SMTPSecure = $this->smtpsecurity; $mail->SMTPSecure = $this->smtpsecurity;
} }
$mail->Port = $this->smtpport; $mail->Port = $this->smtpport;
$mail->isHTML(false);
if (empty($this->html)) {
$mail->isHTML(false);
$mail->CharSet = "text/plain; charset=UTF-8;";
$mail->Body = $this->body;
} else {
$mail->isHTML(true);
$mail->CharSet = "text/html; charset=UTF-8;";
$mail->Body = $this->html;
$mail->AltBody = $this->body;
}
$mail->setFrom($this->fromaddress, $this->fromname); $mail->setFrom($this->fromaddress, $this->fromname);
if (!empty($this->replyto)) {
$mail->addReplyTo($this->replyto);
}
foreach ($this->to as $to) { foreach ($this->to as $to) {
$mail->addAddress($to); $mail->addAddress($to);
} }

View File

@ -192,6 +192,9 @@ try {
$emailsettings = $_SETTINGS["email"]; $emailsettings = $_SETTINGS["email"];
$mail->setSMTP($emailsettings["server"], $emailsettings["port"], true, $emailsettings["user"], $emailsettings["password"], $emailsettings["security"]); $mail->setSMTP($emailsettings["server"], $emailsettings["port"], true, $emailsettings["user"], $emailsettings["password"], $emailsettings["security"]);
$mail->setFrom($emailsettings["user"], "CertifiedFromHome.com"); $mail->setFrom($emailsettings["user"], "CertifiedFromHome.com");
if (!empty($emailsettings["replyto"])) {
$mail->setReplyTo($emailsettings["replyto"]);
}
$mail->addTo($shipment->from_address->email); $mail->addTo($shipment->from_address->email);
$mail->setSubject("Your CertifiedFromHome Receipt"); $mail->setSubject("Your CertifiedFromHome Receipt");
$body = "Thanks for using CertifiedFromHome.com!\r\nYour card has been charged a total of $" . number_format($price, 2) . ".\r\n"; $body = "Thanks for using CertifiedFromHome.com!\r\nYour card has been charged a total of $" . number_format($price, 2) . ".\r\n";

View File

@ -9,6 +9,7 @@ $_SETTINGS = [
"server" => "mail.netsyms.net", "server" => "mail.netsyms.net",
"port" => 587, "port" => 587,
"user" => "noreply@netsyms.com", "user" => "noreply@netsyms.com",
"replyto" => "reply@netsyms.com",
"password" => "", "password" => "",
"security" => "tls" "security" => "tls"
], ],