From a741351d5c91913f22255b8e9e5d4586c70735d6 Mon Sep 17 00:00:00 2001 From: deva Date: Thu, 25 Feb 2010 20:30:01 +0000 Subject: Split up some of the mailcode in order to be able to reuse it in the upcoming pressrelease module. --- utils/mail.php | 25 +++++++++++++++++++ utils/modules/newsletter.php | 57 ++++++++++++++++++-------------------------- 2 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 utils/mail.php diff --git a/utils/mail.php b/utils/mail.php new file mode 100644 index 0000000..866bad4 --- /dev/null +++ b/utils/mail.php @@ -0,0 +1,25 @@ +email = $email; + $this->timestamp = $timestamp; + } + + public function send($subject, $message, + $sender, $replyto) + { + $headers = "From: " . $sender . "\r\n"; + $headers .= "Reply-To: " . $replyto . "\r\n"; + $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n"; + $headers .= "X-Mailer: PHP/" . phpversion(); + + return mail($this->email, $subject, $message, $headers); + } +} + +?> \ No newline at end of file diff --git a/utils/modules/newsletter.php b/utils/modules/newsletter.php index 5a0cade..ef172e0 100644 --- a/utils/modules/newsletter.php +++ b/utils/modules/newsletter.php @@ -1,30 +1,8 @@ email = $email; - $this->timestamp = $timestamp; - } - - public function send($subject, $message, - $subject_prefix, $sender, $replyto, $footer, $unsubscribe_url) - { - $message .= "\n\n".$footer; - $message .= "\n\nTo stop receiving this newsletter, click the following link: ".$unsubscribe_url."&action=unsubscribe&email=". $this->email . "\n"; - $headers = "From: " . $sender . "\r\n"; - $headers .= "Reply-To: " . $replyto . "\r\n"; - $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n"; - $headers .= "X-Mailer: PHP/" . phpversion(); - $subject = "[".$subject_prefix."] " . $subject; - - $ret = mail($this->email, $subject, $message, $headers); - if(!$ret) echo "Fail(".$this->email.")"; - } -} +include_once($UTIL_DIR . "/mail.php"); class Mailinglist { private $file; @@ -125,8 +103,26 @@ class Mailinglist { return $str; } + public function postSingle($email, $subject, $message) + { + $subject = "[".$this->subj_prefix."] " . $subject; + + $message .= "\n\n".$this->footer; + $message .= "\n\nTo stop receiving this newsletter, click the following link: ". + $this->unsubscribe_url."&action=unsubscribe&email=". $email->email . "\n"; + + $email->send($subject, $message, $this->sender, $this->replyto); + } + public function post($subject, $message) { + $subject = "[".$this->subject_prefix."] " . $subject; + + $message .= "\n\n".$this->footer; + $message .= "\n\nTo stop receiving this newsletter, click the following link: ". + $this->unsubscribe_url."&action=unsubscribe&email=". $this->email . "\n"; + + $sz = sizeof($this->mailinglist); echo "
Sending ". $sz ." mails
\n<"; @@ -138,10 +134,8 @@ class Mailinglist { $steps = floor($sz / 10) + 1; foreach($this->mailinglist as $email) { - $email->send($subject, $message, - $this->subj_prefix, $this->sender, - $this->replyto, $this->footer, - $this->unsubscribe_url); + + $this->postSingle($email, $ubject, $message); $pct = $num / $sz * 100; if($pct >= $lvl) { @@ -190,12 +184,7 @@ class Newsletter { case "preview": $testmail = new Email($vars["testaddr"], 0); echo "
\n"; - echo $testmail->send($vars["subject"], $vars["content"], - $this->mailinglist->subj_prefix, - $this->mailinglist->sender, - $this->mailinglist->replyto, - $this->mailinglist->footer, - $this->mailinglist->unsubscribe_url); + $this->mailinglist->postSingle($testmail, $vars["subject"], $vars["content"]); echo "A test mail has been sent to ".$vars["testaddr"]."
\n"; echo "

Looking ok?

"; $form = new Form("send"); -- cgit v1.2.3