当前位置: 首页>>代码示例>>PHP>>正文


PHP Email::mailer方法代码示例

本文整理汇总了PHP中Email::mailer方法的典型用法代码示例。如果您正苦于以下问题:PHP Email::mailer方法的具体用法?PHP Email::mailer怎么用?PHP Email::mailer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Email的用法示例。


在下文中一共展示了Email::mailer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _write

 /**
  * Send an email to the email address set in
  * this writer.
  */
 public function _write($event)
 {
     // If no formatter set up, use the default
     if (!$this->_formatter) {
         $formatter = new SS_LogErrorEmailFormatter();
         $this->setFormatter($formatter);
     }
     $formattedData = $this->_formatter->format($event);
     $subject = $formattedData['subject'];
     $data = $formattedData['data'];
     $from = Config::inst()->get('SS_LogEmailWriter', 'send_from');
     // override the SMTP server with a custom one if required
     $originalSMTP = ini_get('SMTP');
     if ($this->customSmtpServer) {
         ini_set('SMTP', $this->customSmtpServer);
     }
     // Use plain mail() implementation to avoid complexity of Mailer implementation.
     // Only use built-in mailer when we're in test mode (to allow introspection)
     $mailer = Email::mailer();
     if ($mailer instanceof TestMailer) {
         $mailer->sendHTML($this->emailAddress, null, $subject, $data, null, "Content-type: text/html\nFrom: " . $from);
     } else {
         mail($this->emailAddress, $subject, $data, "Content-type: text/html\nFrom: " . $from);
     }
     // reset the SMTP server to the original
     if ($this->customSmtpServer) {
         ini_set('SMTP', $originalSMTP);
     }
 }
开发者ID:miamollie,项目名称:echoAerial,代码行数:33,代码来源:LogEmailWriter.php

示例2: mailer

 /**
  * Get the mailer.
  *
  * @return Mailer
  */
 public static function mailer()
 {
     if (!self::$mailer) {
         self::$mailer = new Mailer();
     }
     return self::$mailer;
 }
开发者ID:congaaids,项目名称:silverstripe-framework,代码行数:12,代码来源:Email.php

示例3: getMailer

 /**
  * @return MandrillMailer
  * @throws Exception
  */
 public function getMailer()
 {
     $mailer = Email::mailer();
     if (get_class($mailer) != 'MandrillMailer') {
         throw new Exception('This class require to use MandrillMailer');
     }
     return $mailer;
 }
开发者ID:helpfulrobot,项目名称:lekoala-silverstripe-mandrill,代码行数:12,代码来源:MandrillAdmin.php

示例4: getMailer

 /**
  * @return SparkPostMailer
  * @throws Exception
  */
 public function getMailer()
 {
     $mailer = Email::mailer();
     if (!$mailer instanceof SparkPostMailer) {
         throw new Exception('This class require to use SparkPostMailer');
     }
     return $mailer;
 }
开发者ID:lekoala,项目名称:silverstripe-sparkpost,代码行数:12,代码来源:SparkPostController.php

示例5: testSetup

 public function testSetup()
 {
     Object::useCustomClass('Email', 'SMTPEmail');
     Email::set_mailer(new SmtpMailer());
     SMTPEmail::set_mailer(new SmtpMailer());
     $mailer = Email::mailer();
     $this->assertEquals('SmtpMailer', get_class($mailer));
     $mailer = SMTPEmail::mailer();
     $this->assertEquals('SmtpMailer', get_class($mailer));
 }
开发者ID:helpfulrobot,项目名称:azt3k-abc-silverstripe-mailer,代码行数:10,代码来源:SMTPMailerTest.php

示例6: setUp

	function setUp() {
		// Mark test as being run
		$this->originalIsRunningTest = self::$is_running_test;
		self::$is_running_test = true;
		
		// Remove password validation
		$this->originalMemberPasswordValidator = Member::password_validator();
		$this->originalRequirements = Requirements::backend();
		Member::set_password_validator(null);
		Cookie::set_report_errors(false);

		$className = get_class($this);
		$fixtureFile = eval("return {$className}::\$fixture_file;");
		
		// Set up fixture
		if($fixtureFile) {
			if(substr(DB::getConn()->currentDatabase(),0,5) != 'tmpdb') {
				//echo "Re-creating temp database... ";
				self::create_temp_db();
				//echo "done.\n";
			}

			// This code is a bit misplaced; we want some way of the whole session being reinitialised...
			Versioned::reading_stage(null);

			singleton('DataObject')->flushCache();

			$dbadmin = new DatabaseAdmin();
			$dbadmin->clearAllData();
			
			// We have to disable validation while we import the fixtures, as the order in
			// which they are imported doesnt guarantee valid relations until after the
			// import is complete.
			$validationenabled = DataObject::get_validation_enabled();
			DataObject::set_validation_enabled(false);
			$this->fixture = new YamlFixture($fixtureFile);
			$this->fixture->saveIntoDatabase();
			DataObject::set_validation_enabled($validationenabled);
		}
		
		// Set up email
		$this->originalMailer = Email::mailer();
		$this->mailer = new TestMailer();
		Email::set_mailer($this->mailer);
	}
开发者ID:neopba,项目名称:silverstripe-book,代码行数:45,代码来源:SapphireTest.php

示例7: onBeforeWrite

 /**
  * Event handler called before writing to the database.
  */
 public function onBeforeWrite()
 {
     if ($this->SetPassword) {
         $this->Password = $this->SetPassword;
     }
     // If a member with the same "unique identifier" already exists with a different ID, don't allow merging.
     // Note: This does not a full replacement for safeguards in the controller layer (e.g. in a registration form),
     // but rather a last line of defense against data inconsistencies.
     $identifierField = Member::config()->unique_identifier_field;
     if ($this->{$identifierField}) {
         // Note: Same logic as Member_Validator class
         $filter = array("\"{$identifierField}\"" => $this->{$identifierField});
         if ($this->ID) {
             $filter[] = array('"Member"."ID" <> ?' => $this->ID);
         }
         $existingRecord = DataObject::get_one('Member', $filter);
         if ($existingRecord) {
             throw new ValidationException(ValidationResult::create(false, _t('Member.ValidationIdentifierFailed', 'Can\'t overwrite existing member #{id} with identical identifier ({name} = {value}))', 'Values in brackets show "fieldname = value", usually denoting an existing email address', array('id' => $existingRecord->ID, 'name' => $identifierField, 'value' => $this->{$identifierField}))));
         }
     }
     // We don't send emails out on dev/tests sites to prevent accidentally spamming users.
     // However, if TestMailer is in use this isn't a risk.
     if ((Director::isLive() || Email::mailer() instanceof TestMailer) && $this->isChanged('Password') && $this->record['Password'] && $this->config()->notify_password_change) {
         $e = Member_ChangePasswordEmail::create();
         $e->populateTemplate($this);
         $e->setTo($this->Email);
         $e->send();
     }
     // The test on $this->ID is used for when records are initially created.
     // Note that this only works with cleartext passwords, as we can't rehash
     // existing passwords.
     if (!$this->ID && $this->Password || $this->isChanged('Password')) {
         // Password was changed: encrypt the password according the settings
         $encryption_details = Security::encrypt_password($this->Password, $this->Salt, $this->PasswordEncryption ? $this->PasswordEncryption : Security::config()->password_encryption_algorithm, $this);
         // Overwrite the Password property with the hashed value
         $this->Password = $encryption_details['password'];
         $this->Salt = $encryption_details['salt'];
         $this->PasswordEncryption = $encryption_details['algorithm'];
         // If we haven't manually set a password expiry
         if (!$this->isChanged('PasswordExpiry')) {
             // then set it for us
             if (self::config()->password_expiry_days) {
                 $this->PasswordExpiry = date('Y-m-d', time() + 86400 * self::config()->password_expiry_days);
             } else {
                 $this->PasswordExpiry = null;
             }
         }
     }
     // save locale
     if (!$this->Locale) {
         $this->Locale = i18n::get_locale();
     }
     parent::onBeforeWrite();
 }
开发者ID:guttmann,项目名称:silverstripe-framework,代码行数:57,代码来源:Member.php

示例8: setUp

 public function setUp()
 {
     // We cannot run the tests on this abstract class.
     if (get_class($this) == "SapphireTest") {
         $this->skipTest = true;
     }
     if ($this->skipTest) {
         $this->markTestSkipped(sprintf('Skipping %s ', get_class($this)));
         return;
     }
     // Mark test as being run
     $this->originalIsRunningTest = self::$is_running_test;
     self::$is_running_test = true;
     // i18n needs to be set to the defaults or tests fail
     i18n::set_locale(i18n::default_locale());
     i18n::config()->date_format = null;
     i18n::config()->time_format = null;
     // Set default timezone consistently to avoid NZ-specific dependencies
     date_default_timezone_set('UTC');
     // Remove password validation
     $this->originalMemberPasswordValidator = Member::password_validator();
     $this->originalRequirements = Requirements::backend();
     Member::set_password_validator(null);
     Config::inst()->update('Cookie', 'report_errors', false);
     if (class_exists('RootURLController')) {
         RootURLController::reset();
     }
     if (class_exists('Translatable')) {
         Translatable::reset();
     }
     Versioned::reset();
     DataObject::reset();
     if (class_exists('SiteTree')) {
         SiteTree::reset();
     }
     Hierarchy::reset();
     if (Controller::has_curr()) {
         Controller::curr()->setSession(Injector::inst()->create('Session', array()));
     }
     Security::$database_is_ready = null;
     // Add controller-name auto-routing
     Config::inst()->update('Director', 'rules', array('$Controller//$Action/$ID/$OtherID' => '*'));
     $fixtureFile = static::get_fixture_file();
     $prefix = defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : 'ss_';
     // Set up email
     $this->originalMailer = Email::mailer();
     $this->mailer = new TestMailer();
     Email::set_mailer($this->mailer);
     Config::inst()->remove('Email', 'send_all_emails_to');
     // Todo: this could be a special test model
     $this->model = DataModel::inst();
     // Set up fixture
     if ($fixtureFile || $this->usesDatabase || !self::using_temp_db()) {
         if (substr(DB::get_conn()->getSelectedDatabase(), 0, strlen($prefix) + 5) != strtolower(sprintf('%stmpdb', $prefix))) {
             //echo "Re-creating temp database... ";
             self::create_temp_db();
             //echo "done.\n";
         }
         singleton('DataObject')->flushCache();
         self::empty_temp_db();
         foreach ($this->requireDefaultRecordsFrom as $className) {
             $instance = singleton($className);
             if (method_exists($instance, 'requireDefaultRecords')) {
                 $instance->requireDefaultRecords();
             }
             if (method_exists($instance, 'augmentDefaultRecords')) {
                 $instance->augmentDefaultRecords();
             }
         }
         if ($fixtureFile) {
             $pathForClass = $this->getCurrentAbsolutePath();
             $fixtureFiles = is_array($fixtureFile) ? $fixtureFile : array($fixtureFile);
             $i = 0;
             foreach ($fixtureFiles as $fixtureFilePath) {
                 // Support fixture paths relative to the test class, rather than relative to webroot
                 // String checking is faster than file_exists() calls.
                 $isRelativeToFile = strpos('/', $fixtureFilePath) === false || preg_match('/^\\.\\./', $fixtureFilePath);
                 if ($isRelativeToFile) {
                     $resolvedPath = realpath($pathForClass . '/' . $fixtureFilePath);
                     if ($resolvedPath) {
                         $fixtureFilePath = $resolvedPath;
                     }
                 }
                 $fixture = Injector::inst()->create('YamlFixture', $fixtureFilePath);
                 $fixture->writeInto($this->getFixtureFactory());
                 $this->fixtures[] = $fixture;
                 // backwards compatibility: Load first fixture into $this->fixture
                 if ($i == 0) {
                     $this->fixture = $fixture;
                 }
                 $i++;
             }
         }
         $this->logInWithPermission("ADMIN");
     }
     // Preserve memory settings
     $this->originalMemoryLimit = ini_get('memory_limit');
     // turn off template debugging
     Config::inst()->update('SSViewer', 'source_file_comments', false);
     // Clear requirements
//.........这里部分代码省略.........
开发者ID:congaaids,项目名称:silverstripe-framework,代码行数:101,代码来源:SapphireTest.php

示例9: mailer

	/**
	 * Get the mailer.
	 * 
	 * @return Mailer
	 */
	static function mailer() {
		if(!self::$mailer) self::$mailer = new Mailer();
		return self::$mailer;
	}
开发者ID:neopba,项目名称:silverstripe-book,代码行数:9,代码来源:Email.php

示例10: batch

 public function batch(array $to, array &$failed = NULL)
 {
     $message = clone $this->_message;
     $mailer = Email::mailer();
     $total = 0;
     foreach ($to as $email => $name) {
         if (ctype_digit((string) $email)) {
             $email = $name;
             $name = NULL;
         }
         $message->setTo($email, $name);
         $total += $mailer->send($message, $failed);
     }
     return $total;
 }
开发者ID:benshez,项目名称:DreamWeddingCeremomies,代码行数:15,代码来源:Email.php

示例11: send

 /**
  * Send the email. Failed recipients can be collected by passing an array.
  *
  * @param   array   failed recipient list, by reference
  * @return  boolean
  */
 public function send(array &$failed = NULL)
 {
     return Email::mailer()->send($this->_message, $failed);
 }
开发者ID:bosoy83,项目名称:progtest,代码行数:10,代码来源:email.php

示例12: setUp

 function setUp()
 {
     // We cannot run the tests on this abstract class.
     if (get_class($this) == "SapphireTest") {
         $this->skipTest = true;
     }
     if ($this->skipTest) {
         $this->markTestSkipped(sprintf('Skipping %s ', get_class($this)));
         return;
     }
     // Mark test as being run
     $this->originalIsRunningTest = self::$is_running_test;
     self::$is_running_test = true;
     // i18n needs to be set to the defaults or tests fail
     i18n::set_locale(i18n::default_locale());
     i18n::set_date_format(null);
     i18n::set_time_format(null);
     // Remove password validation
     $this->originalMemberPasswordValidator = Member::password_validator();
     $this->originalRequirements = Requirements::backend();
     Member::set_password_validator(null);
     Cookie::set_report_errors(false);
     if (class_exists('RootURLController')) {
         RootURLController::reset();
     }
     if (class_exists('Translatable')) {
         Translatable::reset();
     }
     Versioned::reset();
     DataObject::reset();
     if (class_exists('SiteTree')) {
         SiteTree::reset();
     }
     Hierarchy::reset();
     if (Controller::has_curr()) {
         Controller::curr()->setSession(new Session(array()));
     }
     $this->originalTheme = SSViewer::current_theme();
     if (class_exists('SiteTree')) {
         // Save nested_urls state, so we can restore it later
         $this->originalNestedURLsState = SiteTree::nested_urls();
     }
     $className = get_class($this);
     $fixtureFile = eval("return {$className}::\$fixture_file;");
     $prefix = defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : 'ss_';
     // Todo: this could be a special test model
     $this->model = DataModel::inst();
     // Set up fixture
     if ($fixtureFile || $this->usesDatabase || !self::using_temp_db()) {
         if (substr(DB::getConn()->currentDatabase(), 0, strlen($prefix) + 5) != strtolower(sprintf('%stmpdb', $prefix))) {
             //echo "Re-creating temp database... ";
             self::create_temp_db();
             //echo "done.\n";
         }
         singleton('DataObject')->flushCache();
         self::empty_temp_db();
         foreach ($this->requireDefaultRecordsFrom as $className) {
             $instance = singleton($className);
             if (method_exists($instance, 'requireDefaultRecords')) {
                 $instance->requireDefaultRecords();
             }
             if (method_exists($instance, 'augmentDefaultRecords')) {
                 $instance->augmentDefaultRecords();
             }
         }
         if ($fixtureFile) {
             $pathForClass = $this->getCurrentAbsolutePath();
             $fixtureFiles = is_array($fixtureFile) ? $fixtureFile : array($fixtureFile);
             $i = 0;
             foreach ($fixtureFiles as $fixtureFilePath) {
                 // Support fixture paths relative to the test class, rather than relative to webroot
                 // String checking is faster than file_exists() calls.
                 $isRelativeToFile = strpos('/', $fixtureFilePath) === false || preg_match('/^\\.\\./', $fixtureFilePath);
                 if ($isRelativeToFile) {
                     $resolvedPath = realpath($pathForClass . '/' . $fixtureFilePath);
                     if ($resolvedPath) {
                         $fixtureFilePath = $resolvedPath;
                     }
                 }
                 $fixture = new YamlFixture($fixtureFilePath);
                 $fixture->saveIntoDatabase($this->model);
                 $this->fixtures[] = $fixture;
                 // backwards compatibility: Load first fixture into $this->fixture
                 if ($i == 0) {
                     $this->fixture = $fixture;
                 }
                 $i++;
             }
         }
         $this->logInWithPermission("ADMIN");
     }
     // Set up email
     $this->originalMailer = Email::mailer();
     $this->mailer = new TestMailer();
     Email::set_mailer($this->mailer);
     Email::send_all_emails_to(null);
     // Preserve memory settings
     $this->originalMemoryLimit = ini_get('memory_limit');
 }
开发者ID:rixrix,项目名称:sapphire,代码行数:99,代码来源:SapphireTest.php

示例13: testSetup

 public function testSetup()
 {
     $inst = SparkPostMailer::setAsMailer();
     $this->assertTrue($inst === Email::mailer());
 }
开发者ID:lekoala,项目名称:silverstripe-sparkpost,代码行数:5,代码来源:SparkPostTest.php

示例14: canView

 /**
  * Check the permission to make sure the current user has a mandrill
  *
  * @return bool
  */
 public function canView($member = null)
 {
     $mailer = Email::mailer();
     if (get_class($mailer) != 'MandrillMailer') {
         return false;
     }
     return Permission::check("CMS_ACCESS_Mandrill", "any", $member);
 }
开发者ID:lekoala,项目名称:silverstripe-mandrill,代码行数:13,代码来源:MandrillAdmin.php

示例15: batch

 /**
  * Send the email to a batch of addresses.
  *
  * !! Failed recipients can be collected by using the second parameter.
  *
  * @param   array    failed recipient list, by reference
  * @return  integer  number of emails sent
  */
 public function batch(array $to, array &$failed = NULL)
 {
     // Get a copy of the current message
     $message = clone $this->_message;
     // Load the mailer instance
     $mailer = Email::mailer();
     // Count the total number of messages sent
     $total = 0;
     foreach ($to as $email => $name) {
         if (ctype_digit((string) $email)) {
             // Only an email address was provided
             $email = $name;
             $name = NULL;
         }
         // Set the To addre
         $message->setTo($email, $name);
         // Send this email
         $total += $mailer->send($message, $failed);
     }
     return $total;
 }
开发者ID:deraemons,项目名称:deraemon-cms,代码行数:29,代码来源:Email.php


注:本文中的Email::mailer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。