<?php
-# Copyright (C) 2006 Jason Woofenden
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
+# This program is in the public domain within the United States. Additionally,
+# we waive copyright and related rights in the work worldwide through the CC0
+# 1.0 Universal public domain dedication, which can be found at
+# http://creativecommons.org/publicdomain/zero/1.0/
# This function will SAFELY send e-mail (ie you can pass parameters to it
if($to == '') { return 2; }
#FIXME should allow many more characters here
- $subject = ereg_replace("[^a-zA-Z0-9 _#'.:-]", '_', $subject);
+ $subject = preg_replace("|[^a-z0-9 _/#'.:&,-]|i", '_', $subject);
$headers = "From: $from";
if($reply_to) {
if($bcc) {
$headers .= "\r\nBCC: $bcc";
}
- #header('Content-Type: text/plain');
- #print_r(array($to, $subject, $message, $headers));
- #exit();
+ $headers .= "\r\nContent-type: text/plain; charset=UTF-8";
+
if(mail($to, $subject, $message, $headers)) {
return 0;
} else {
return '';
}
- if(ereg('<.*>$', $addr) !== false) {
+ if(preg_match('|<.*>$|', $addr) === 1) {
# format 2
$div = strrpos($addr, '<');
$name = substr($addr, 0 , $div);
$email = substr($addr, $div + 1, -1);
} else {
$email = $addr;
- $name = ereg_replace('@.*', '', $addr);
+ $name = preg_replace('|@.*|', '', $addr);
}
if(!valid_email($email)) {
}
#FIXME should allow many more characters here
- $name = ereg_replace("[^a-zA-Z0-9 _'.-]", '_', $name);
+ $name = preg_replace("|[^a-z0-9 _/'.-]|i", '_', $name);
return $name . ' <' . $email . '>';
}
# return true if e-mail is formatted like a valid email address
function valid_email($email) {
- return ereg('^[0-9a-zA-Z_~.-]+@[0-9a-zA-Z.-]+\.[a-z]+$', $email) !== false;
+ return preg_match('|^[0-9a-zA-Z_~.+-]+@[0-9a-zA-Z.-]+\.[a-z]+$|', $email) === 1;
}