Hi folks if u care about ur out-going emails quota then this tutorials is for u.
Why is it important not to send emails to those users who haven't been back online for some extended period of time like in my case 3 months.
Case in most cases that particular user won't come back ever again or the email is no longer valid so ur robbing ur legit users from getting notifications by trying to send emails to ghosts lol.
I will post another part of this code that will make users conform their email after they have been gone for some time.
Lets get started. Keep in mind this tutorial if only for those using SMTP!!!
Open this file: ow_system_plugins\base\bol\mail_service.php
Find: private function mailToDtoList( BASE_CLASS_Mail $mail )
Add this code after: $resultList = array();
// my fix 1/2 start
$ow_language = OW::getLanguage();
if($mailState['subject'] != $ow_language->text('base', 'email_verify_subject') || $mailState['subject'] != $ow_language->text('base', 'reset_password_mail_template_subject'))
{
$userLastActivityTimeStamp = BOL_UserService::getInstance()->findByEmail( $mailState['recipientEmailList'][0])->activityStamp;
if($userLastActivityTimeStamp < strtotime('-90 days')) return $resultList;
}
// my fix 1/2 end
Now search for: public function addToQueue( BASE_CLASS_Mail $mail )
Add this code after: $dtoList = $this->mailToDtoList($mail);
// my fix 2/2 start
if(empty($dtoList)) return;
// my fix 2/2 end
OK ur all set to go.