summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/mail.php4
-rwxr-xr-xmaildaemon.php14
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/mail.php b/lib/mail.php
index 3bcb0923d..61570d295 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -159,7 +159,9 @@ function mail_new_incoming_address() {
}
function mail_broadcast_notice_sms($notice) {
+
$user = new User();
+
$user->smsnotify = 1;
$user->whereAdd('EXISTS (select subscriber from subscriptions where ' .
' subscriber = user.id and subscribed = ' . $notice->profile_id);
@@ -175,7 +177,7 @@ function mail_broadcast_notice_sms($notice) {
function mail_send_notice($notice, $user) {
$profile = $user->getProfile();
$name = $profile->getBestName();
- $to = $name . ' <' . $sms_email . '>';
+ $to = $name . ' <' . $user->smsemail . '>';
$other = $notice->getProfile();
$headers = array();
diff --git a/maildaemon.php b/maildaemon.php
index 59659b990..4c03b151d 100755
--- a/maildaemon.php
+++ b/maildaemon.php
@@ -31,6 +31,9 @@ require_once(INSTALLDIR . '/lib/common.php');
require_once(INSTALLDIR . '/lib/mail.php');
require_once('Mail/mimeDecode.php');
+# FIXME: we use both Mail_mimeDecode and mailparse
+# Need to move everything to mailparse
+
class MailerDaemon {
function __construct() {
@@ -49,12 +52,16 @@ class MailerDaemon {
}
if (!$this->user_match_to($user, $to)) {
$this->error($from, _('Sorry, that is not your incoming email address.'));
+ return false;
}
if (!$user->emailpost) {
+ $this->error($from, _('Sorry, no incoming email allowed.'));
+ return false;
}
$response = $this->handle_command($user, $msg);
if ($response) {
$this->respond($from, $to, $response);
+ return true;
}
$msg = $this->cleanup_msg($msg);
$this->add_notice($user, $msg);
@@ -71,7 +78,12 @@ class MailerDaemon {
return NULL;
}
$from = $froms[0];
- return User::staticGet('email', common_canonical_email($from['address']));
+ $addr = common_canonical_email($from['address']);
+ $user = User::staticGet('email', $addr);
+ if (!$user) {
+ $user = User::staticGet('smsemail', $addr);
+ }
+ return $user;
}
function user_match_to($user, $to_hdr) {