/** * Notify admin of new comment * * @param Comment $comment */ public function onAfterPostComment(Comment $comment) { // Determine recipient $recipient = CommentsNotifications::get_recipient($comment->getParent()); if (empty($recipient)) { return; } // Check moderation status if (Config::inst()->get('CommentsNotifications', 'only_unmoderated') && $comment->Moderated) { return; } // Generate email $email = new Email(); $email->setSubject(Config::inst()->get('CommentsNotifications', 'email_subject')); $email->setTo($recipient); $email->setTemplate(Config::inst()->get('CommentsNotifications', 'email_template')); $email->populateTemplate($comment); // Corretly set sender and from as per email convention $sender = Config::inst()->get('CommentsNotifications', 'email_sender'); if (!empty($comment->Email)) { $email->setFrom($comment->Email); $email->addCustomHeader('Reply-To', $comment->Email); } else { $email->setFrom($sender); } $email->addCustomHeader('X-Sender', $sender); $email->addCustomHeader('Sender', $sender); $this->owner->extend('updateEmail', $email); // Send $email->send(); }
public function createEmail($member) { //error_log("LOG MESSAGE FROM FORUM EMAIL POST DECORATOR LINK IS ".$this->owner->AbsoluteLink()); $controller = new SubscribeController(); $email = new Email(); $from_email = $this->owner->Forum()->parent()->FromEmail; $email->setFrom($from_email); $reply_to = $this->owner->Forum()->parent()->ReplyTo; $email->addCustomHeader('Reply-To', $reply_to); $email->setTo($member->Email); $config = SiteConfig::current_site_config(); $email->setSubject($this->owner->Title . ' | ' . $config->Title . ' ' . $this->owner->Forum()->Title . ' Forum'); $email->setTemplate('Forum_SubscriberNotification'); $email->populateTemplate(array('Recipient' => $member->FirstName, 'Link' => $this->owner->Link(), 'Title' => $this->owner->Title, 'Content' => $this->owner->Content, 'Author' => $this->owner->Author()->Nickname, 'Forum' => $this->owner->Forum()->Title, 'UnsubscribeLinkFromForum' => Director::absoluteBaseURL() . $controller->Link('unsubscribe/' . $this->owner->ForumID))); $email->send(); }
public function testSendHTML() { // Set custom $project - used in email headers global $project; $oldProject = $project; $project = 'emailtest'; Email::set_mailer(new EmailTest_Mailer()); $email = new Email('*****@*****.**', '*****@*****.**', 'Test send plain', 'Testing Email->sendPlain()', null, '*****@*****.**', '*****@*****.**'); $email->attachFile(__DIR__ . '/fixtures/attachment.txt', null, 'text/plain'); $email->addCustomHeader('foo', 'bar'); $sent = $email->send(123); // Restore old project name after sending $project = $oldProject; $this->assertEquals('*****@*****.**', $sent['to']); $this->assertEquals('*****@*****.**', $sent['from']); $this->assertEquals('Test send plain', $sent['subject']); $this->assertContains('Testing Email->sendPlain()', $sent['content']); $this->assertNull($sent['plaincontent']); $this->assertEquals(array(0 => array('contents' => 'Hello, I\'m a text document.', 'filename' => 'attachment.txt', 'mimetype' => 'text/plain')), $sent['files']); $this->assertEquals(array('foo' => 'bar', 'X-SilverStripeMessageID' => 'emailtest.123', 'X-SilverStripeSite' => 'emailtest', 'Cc' => '*****@*****.**', 'Bcc' => '*****@*****.**'), $sent['customheaders']); }
<?php require_once "lib/TurboApiClient.php"; $email = new Email(); $email->setFrom("*****@*****.**"); $email->setToList("bb.com, cc@domain.com"); $email->setCcList("dd@domain.com,ee@domain.com"); $email->setBccList("ffi@domain.com,rr@domain.com"); $email->setSubject("subject"); $email->setContent("content"); $email->setHtmlContent("html content"); $email->addCustomHeader('X-FirstHeader', "value"); $email->addCustomHeader('X-SecondHeader', "value"); $email->addCustomHeader('X-Header-da-rimuovere', 'value'); $email->removeCustomHeader('X-Header-da-rimuovere'); $turboApiClient = new TurboApiClient("_username", "_password"); $response = $turboApiClient->sendEmail($email); var_dump($response);
public function SendEnquiryForm($data, $form) { $From = $this->EmailFrom; $To = $this->EmailTo; $Subject = $this->EmailSubject; $email = new Email($From, $To, $Subject); $replyTo = $this->EnquiryFormFields()->filter(array('FieldType' => 'Email'))->First(); if ($replyTo) { $postField = $this->keyGen($replyTo->FieldName, $replyTo->SortOrder); if (isset($data[$postField]) && Email::validEmailAddress($data[$postField])) { $email->replyTo($data[$postField]); } } if ($this->EmailBcc) { $email->setBcc($this->EmailBcc); } //abuse / tracking $email->addCustomHeader('X-Sender-IP', $_SERVER['REMOTE_ADDR']); //set template $email->setTemplate('EnquiryFormEmail'); //populate template $templateData = $this->getTemplateData($data); $email->populateTemplate($templateData); //send mail $email->send(); //return to submitted message if (Director::is_ajax()) { return $this->renderWith('EnquiryPageAjaxSuccess'); } $this->redirect($this->Link('?success=1#thankyou')); }
<?php require_once "/var/www/TurboApiClient.php"; $email1 = $email; // creation of the email to be sent $email = new Email(); $email->setFrom("*****@*****.**"); $email->setToList($email1); //$email->setCcList("mary.davies@domain.com, mary.smith@domain.com"); //$email->setBccList("maria.campbell@domain.com, don.smith@domain.com"); $email->setSubject("subject"); $email->setContent("content"); $email->setHtmlContent("Your token is : " . $token); $email->addCustomHeader('X-FirstHeader', "value"); $email->addCustomHeader('X-SecondHeader', "value"); $email->addCustomHeader('X-Header-to-be-removed', 'value'); $email->removeCustomHeader('X-Header-to-be-removed'); // creation of a client that connects with turbo-smtp APIs $turboApiClient = new TurboApiClient("*****@*****.**", "Wa7mS3us"); // email sending $response = $turboApiClient->sendEmail($email); // display of the operations outcome //var_dump($response);