projects
/
Pman.Core
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e9764a9
)
fix rewrite address
author
Alan
<alan@roojs.com>
Mon, 6 Nov 2023 02:48:37 +0000
(10:48 +0800)
committer
Alan
<alan@roojs.com>
Mon, 6 Nov 2023 02:48:37 +0000
(10:48 +0800)
DataObjects/Core_notify_sender.php
patch
|
blob
|
history
diff --git
a/DataObjects/Core_notify_sender.php
b/DataObjects/Core_notify_sender.php
index
a140c96
..
e844859
100644
(file)
--- a/
DataObjects/Core_notify_sender.php
+++ b/
DataObjects/Core_notify_sender.php
@@
-18,17
+18,9
@@
class Pman_Core_DataObjects_Core_notify_sender extends DB_DataObject
- function email
ToSender($email
, $notify)
+ function email
AddrToSender($from_addr
, $notify)
{
{
- require_once 'Mail/RFC822.php';
- $parser = new Mail_RFC822();
- $addresses = $parser->parseAddressList( $email['headers']['From'], 'localhost', false);
- if (is_a($addresses, 'PEAR_Error')) {
- return false;
- }
- $from_addr = $addresses[0];
- //print_r($email['headers']['From']); print_R($from_addr);exit;
-
+
$from = $from_addr->mailbox . '@' . $from_addr->host;
$ns = DB_DataObject::Factory($this->tableName());
$from = $from_addr->mailbox . '@' . $from_addr->host;
$ns = DB_DataObject::Factory($this->tableName());
@@
-46,6
+38,21
@@
class Pman_Core_DataObjects_Core_notify_sender extends DB_DataObject
}
}
+ function emailToAddr($email)
+ {
+ require_once 'Mail/RFC822.php';
+ $parser = new Mail_RFC822();
+ $addresses = $parser->parseAddressList( $email['headers']['From'], 'localhost', false);
+ if (is_a($addresses, 'PEAR_Error')) {
+ return false;
+ }
+ return $addresses[0];
+ //print_r($email['headers']['From']); print_R($from_addr);exit;
+
+
+ }
+
+
function filterEmail($email, $notify)
{
//
function filterEmail($email, $notify)
{
//
@@
-55,8
+62,9
@@
class Pman_Core_DataObjects_Core_notify_sender extends DB_DataObject
$bits = explode('@', $notify->to_email);
$to_dom = DB_DataObject::factory('core_domain')->loadOrCreate($bits[1]);
$bits = explode('@', $notify->to_email);
$to_dom = DB_DataObject::factory('core_domain')->loadOrCreate($bits[1]);
+ $from_addr = $this->emailToAddr($email);
- $ns = $this->email
ToSender($email
, $notify);
+ $ns = $this->email
AddrToSender($from_addr
, $notify);
if ($ns == false) {
return $email;
}
if ($ns == false) {
return $email;
}
@@
-78,6
+86,7
@@
class Pman_Core_DataObjects_Core_notify_sender extends DB_DataObject
$ns = DB_DataObject::Factory($this->tableName());
$ns->setFrom(array(
'domain_id' => $to_dom->id,
$ns = DB_DataObject::Factory($this->tableName());
$ns->setFrom(array(
'domain_id' => $to_dom->id,
+ 'poolname' => $notify->tableName(),
'is_active' => 1,
));
$ns->whereAddIn('!id', $bad_ids, 'int');
'is_active' => 1,
));
$ns->whereAddIn('!id', $bad_ids, 'int');
@@
-107,7
+116,11
@@
class Pman_Core_DataObjects_Core_notify_sender extends DB_DataObject
$bits = explode('@', $notify->to_email);
$to_dom = DB_DataObject::factory('core_domain')->loadOrCreate($bits[1]);
$bits = explode('@', $notify->to_email);
$to_dom = DB_DataObject::factory('core_domain')->loadOrCreate($bits[1]);
- $ns = $this->emailToSender($email, $notify);
+
+
+ $from_addr = $this->emailToAddr($email);
+ $ns = $this->emailAddrToSender($from_addr, $notify);
+
$bl->setFrom(array(
'sender_id' => $ns->id,
'domain_id' => $to_dom->id,
$bl->setFrom(array(
'sender_id' => $ns->id,
'domain_id' => $to_dom->id,