function submit($data) { global $wgUserEmailUseReplyTo, $wgEmailUsersUseJobQueue, $wgPasswordSender, $wgUser; if ($data['target-reverse']) { $targets = array_diff($this->userIds, $data['target']); } else { $targets = $data['target']; } if ($data['ccme']) { $targets[] = $wgUser->getId(); } $text = rtrim($data['text']) . "\n\n-- \n"; $params = array('subj' => $data['subject'], 'replyto' => new MailAddress($wgUser)); if ($wgUserEmailUseReplyTo) { $params['from'] = new MailAddress($wgPasswordSender); } else { $params['from'] = new MailAddress($wgUser); } foreach ($targets as $userId) { $user = User::newFromId($userId); $params['to'] = new MailAddress($user); # Or use the recipient's language instead of content? $params['body'] = $text . wfMsgExt('emailuserfooter', array('content', 'parsemag'), array($wgUser->getName(), $user->getName())); $job = new EmaillingJob($this->getTitle(), $params); if ($wgEmailUsersUseJobQueue) { $job->insert(); } else { $job->run(); } } return true; }
public static function sendInviteEmail(User $inviter, $email, $hash) { global $wgPasswordSender; $url = Title::newFromText('Special:Userlogin/signup')->getCanonicalUrl(array('invite' => $hash, 'returnto' => 'Special:Dashboard')); $subj = wfMessage('is-emailsubj')->inContentLanguage(); $body = wfMessage('is-emailbody')->params($inviter->getName(), $url)->inContentLanguage(); $emailTo = new MailAddress($email); $emailFrom = new MailAddress($wgPasswordSender, wfMessage('emailsender')->text()); $params = array('to' => $emailTo, 'from' => $emailFrom, 'replyto' => $emailFrom, 'body' => $body->text(), 'subj' => $subj->text()); $job = new EmaillingJob(Title::newMainPage(), $params); $job->run(); }