本文整理汇总了PHP中eZMailTransport::send方法的典型用法代码示例。如果您正苦于以下问题:PHP eZMailTransport::send方法的具体用法?PHP eZMailTransport::send怎么用?PHP eZMailTransport::send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZMailTransport
的用法示例。
在下文中一共展示了eZMailTransport::send方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendOrderEmail
function sendOrderEmail($params)
{
$ini = eZINI::instance();
if (isset($params['order']) and isset($params['email'])) {
$order = $params['order'];
$email = $params['email'];
$tpl = eZTemplate::factory();
$tpl->setVariable('order', $order);
$templateResult = $tpl->fetch('design:shop/orderemail.tpl');
$subject = $tpl->variable('subject');
$mail = new eZMail();
$emailSender = $ini->variable('MailSettings', 'EmailSender');
if (!$emailSender) {
$emailSender = $ini->variable("MailSettings", "AdminEmail");
}
if ($tpl->hasVariable('content_type')) {
$mail->setContentType($tpl->variable('content_type'));
}
$mail->setReceiver($email);
$mail->setSender($emailSender);
$mail->setSubject($subject);
$mail->setBody($templateResult);
$mailResult = eZMailTransport::send($mail);
$email = $ini->variable('MailSettings', 'AdminEmail');
$mail = new eZMail();
if ($tpl->hasVariable('content_type')) {
$mail->setContentType($tpl->variable('content_type'));
}
$mail->setReceiver($email);
$mail->setSender($emailSender);
$mail->setSubject($subject);
$mail->setBody($templateResult);
$mailResult = eZMailTransport::send($mail);
}
}
示例2: execute
function execute( $xml )
{
$template = $xml->getAttribute( 'template' );
$receiverID = $xml->getAttribute( 'receiver' );
$nodeID = $xml->getAttribute( 'node' );
$ini = eZINI::instance();
$mail = new eZMail();
$tpl = eZTemplate::factory();
$node = eZContentObjectTreeNode::fetch( $nodeID );
if ( !$node )
{
$node = eZContentObjectTreeNode::fetch( 2 );
}
$emailSender = $ini->variable( 'MailSettings', 'EmailSender' );
if ( !$emailSender )
$emailSender = $ini->variable( "MailSettings", "AdminEmail" );
$receiver = eZUser::fetch( $receiverID );
if ( !$receiver )
{
$emailReceiver = $emailSender;
}
else
{
$emailReceiver = $receiver->attribute( 'email' );
}
$tpl->setVariable( 'node', $node );
$tpl->setVariable( 'receiver', $receiver );
$body = $tpl->fetch( 'design:' . $template );
$subject = $tpl->variable( 'subject' );
$mail->setReceiver( $emailReceiver );
$mail->setSender( $emailSender );
$mail->setSubject( $subject );
$mail->setBody( $body );
$mailResult = eZMailTransport::send( $mail );
return $mailResult;
}
示例3: send
function send($addressList = array(), $subject, $body, $transportData = null, $parameters = array())
{
$ini = eZINI::instance();
$mail = new eZMail();
$addressList = $this->prepareAddressString($addressList, $mail);
if ($addressList == false) {
eZDebug::writeError('Error with receiver', __METHOD__);
return false;
}
$notificationINI = eZINI::instance('notification.ini');
$emailSender = $notificationINI->variable('MailSettings', 'EmailSender');
if (!$emailSender) {
$emailSender = $ini->variable('MailSettings', 'EmailSender');
}
if (!$emailSender) {
$emailSender = $ini->variable("MailSettings", "AdminEmail");
}
foreach ($addressList as $addressItem) {
$mail->extractEmail($addressItem, $email, $name);
$mail->addBcc($email, $name);
}
$mail->setSender($emailSender);
$mail->setSubject($subject);
$mail->setBody($body);
if (isset($parameters['message_id'])) {
$mail->addExtraHeader('Message-ID', $parameters['message_id']);
}
if (isset($parameters['references'])) {
$mail->addExtraHeader('References', $parameters['references']);
}
if (isset($parameters['reply_to'])) {
$mail->addExtraHeader('In-Reply-To', $parameters['reply_to']);
}
if (isset($parameters['from'])) {
$mail->setSenderText($parameters['from']);
}
if (isset($parameters['content_type'])) {
$mail->setContentType($parameters['content_type']);
}
$mailResult = eZMailTransport::send($mail);
return $mailResult;
}
示例4: processUserActivation
/**
* Processes user activation
*
* @param eZUser $user
* @param string $password
*/
public static function processUserActivation($user, $password)
{
$ini = eZINI::instance();
$tpl = eZTemplate::factory();
$tpl->setVariable('user', $user);
$tpl->setVariable('object', $user->contentObject());
$tpl->setVariable('hostname', eZSys::hostname());
$tpl->setVariable('password', $password);
// Check whether account activation is required.
$verifyUserType = $ini->variable('UserSettings', 'VerifyUserType');
$sendUserMail = !!$verifyUserType;
// For compatibility with old setting
if ($verifyUserType === 'email' && $ini->hasVariable('UserSettings', 'VerifyUserEmail') && $ini->variable('UserSettings', 'VerifyUserEmail') !== 'enabled') {
$verifyUserType = false;
}
if ($verifyUserType === 'email') {
// Disable user account and send verification mail to the user
$userID = $user->attribute('contentobject_id');
// Create enable account hash and send it to the newly registered user
$hash = md5(mt_rand() . time() . $userID);
if (eZOperationHandler::operationIsAvailable('user_activation')) {
eZOperationHandler::execute('user', 'activation', array('user_id' => $userID, 'user_hash' => $hash, 'is_enabled' => false));
} else {
eZUserOperationCollection::activation($userID, $hash, false);
}
// Log out current user
eZUser::logoutCurrent();
$tpl->setVariable('hash', $hash);
$sendUserMail = true;
} else {
if ($verifyUserType) {
$verifyUserTypeClass = false;
// load custom verify user settings
if ($ini->hasGroup('VerifyUserType_' . $verifyUserType)) {
if ($ini->hasVariable('VerifyUserType_' . $verifyUserType, 'File')) {
include_once $ini->variable('VerifyUserType_' . $verifyUserType, 'File');
}
$verifyUserTypeClass = $ini->variable('VerifyUserType_' . $verifyUserType, 'Class');
}
// try to call the verify user class with function verifyUser
if ($verifyUserTypeClass && method_exists($verifyUserTypeClass, 'verifyUser')) {
$sendUserMail = call_user_func(array($verifyUserTypeClass, 'verifyUser'), $user, $tpl);
} else {
eZDebug::writeWarning("Unknown VerifyUserType '{$verifyUserType}'", 'ngconnect/profile');
}
}
}
// send verification mail to user if email type or custom verify user type returned true
if ($sendUserMail) {
$mail = new eZMail();
$templateResult = $tpl->fetch('design:user/registrationinfo.tpl');
if ($tpl->hasVariable('content_type')) {
$mail->setContentType($tpl->variable('content_type'));
}
$emailSender = $ini->variable('MailSettings', 'EmailSender');
if ($tpl->hasVariable('email_sender')) {
$emailSender = $tpl->variable('email_sender');
} else {
if (!$emailSender) {
$emailSender = $ini->variable('MailSettings', 'AdminEmail');
}
}
$mail->setSender($emailSender);
if ($tpl->hasVariable('subject')) {
$subject = $tpl->variable('subject');
} else {
$subject = ezpI18n::tr('kernel/user/register', 'Registration info');
}
$mail->setSubject($subject);
$mail->setReceiver($user->attribute('email'));
$mail->setBody($templateResult);
eZMailTransport::send($mail);
}
}
示例5: processViewActions
function processViewActions($objectAttribute, &$survey, &$validation)
{
$http = eZHTTPTool::instance();
$actionContinue = false;
$postNodeID = self::PREFIX_ATTRIBUTE . '_ezsurvey_node_id_' . $objectAttribute->attribute('id');
$postContentObjectAttributeID = self::PREFIX_ATTRIBUTE . '_ezsurvey_contentobjectattribute_id_' . $objectAttribute->attribute('id');
$postSurveyID = self::PREFIX_ATTRIBUTE . '_ezsurvey_id_' . $objectAttribute->attribute('id');
$continueViewActions = true;
if ($survey->attribute('one_answer') == 1) {
$user = eZUser::currentUser();
if ($user->isLoggedIn() === true) {
$contentObjectID = $objectAttribute->attribute('contentobject_id');
$contentClassAttributeID = $objectAttribute->attribute('contentclassattribute_id');
$languageCode = $objectAttribute->attribute('language_code');
$surveyID = $survey->attribute('id');
$exist = eZSurveyResult::exist($surveyID, $user->attribute('contentobject_id'), $contentObjectID, $contentClassAttributeID, $languageCode);
if ($exist === true) {
$continueViewActions = false;
}
} else {
$continueViewActions = false;
}
}
if ($continueViewActions === true) {
if ($http->hasPostVariable($postNodeID) and $http->hasPostVariable($postContentObjectAttributeID) and $http->hasPostVariable($postSurveyID)) {
$surveyID = $http->postVariable($postSurveyID);
$contentObjectAttributeID = $http->postVariable($postContentObjectAttributeID);
$nodeID = $http->postVariable($postNodeID);
$node = eZContentObjectTreeNode::fetch($nodeID);
if (get_class($node) == 'eZContentObjectTreeNode' and $node->canRead() === true) {
// verify that our attribute is included in this node.
$dataMap = $node->dataMap();
foreach ($dataMap as $attribute) {
$attributeObjectID = $attribute->attribute('id');
if ($attributeObjectID == $contentObjectAttributeID) {
$actionContinue = true;
break;
}
}
} else {
if (get_class($node) == 'eZContentObjectTreeNode') {
eZDebug::writeWarning("Not enough permissions to read node with ID: " . $nodeID . ".", 'eZSurveyType::processViewActions');
} else {
eZDebug::writeWarning("node with ID: " . $nodeID . " does not exist.", 'eZSurveyType::processViewActions');
return false;
}
}
} else {
eZDebug::writeWarning("All the postvariables {$postNodeID}, {$postContentObjectAttributeID} and {$postSurveyID} need to be supplied.", 'eZSurveyType::processViewActions');
return false;
}
$nodeID = $http->postVariable($postNodeID);
$node = eZContentObjectTreeNode::fetch($nodeID);
if ($actionContinue === true) {
$survey = eZSurvey::fetch($surveyID);
$status = $survey->validateContentObjectAttributeID($contentObjectAttributeID);
if (!$survey or !$survey->published() or !$survey->enabled() or !$survey->valid()) {
eZDebug::writeWarning('Survey is not valid', 'eZSurveyType::processViewActions');
return;
}
$params = array('prefix_attribute' => self::PREFIX_ATTRIBUTE, 'contentobjectattribute_id' => $contentObjectAttributeID);
$variableArray = $survey->processViewActions($validation, $params);
$postSurveyStoreButton = self::PREFIX_ATTRIBUTE . '_ezsurvey_store_button_' . $contentObjectAttributeID;
$user = eZUser::currentUser();
if ($survey->attribute('persistent')) {
$result = eZSurveyResult::instance($surveyID, $user->id());
} else {
$result = eZSurveyResult::instance($surveyID);
}
$result->setAttribute('user_id', $user->id());
$http = eZHTTPTool::instance();
$sessionID = $http->sessionID();
$result->setAttribute('user_session_id', $sessionID);
if ($http->hasPostVariable($postSurveyStoreButton) && $validation['error'] == false) {
$result->storeResult($params);
$postReceiverID = self::PREFIX_ATTRIBUTE . '_ezsurvey_receiver_id_' . $contentObjectAttributeID;
if ($http->hasPostVariable($postReceiverID) and $questionList = $survey->fetchQuestionList() and $postReceiverQuestionID = $http->postVariable($postReceiverID) and isset($questionList[$postReceiverQuestionID])) {
$mailTo = $questionList[$postReceiverQuestionID]->answer();
$emailSenderList = explode('_', $questionList[$postReceiverQuestionID]->attribute('text3'));
if (isset($emailSenderList[1]) and $emailSenderID = $emailSenderList[1] and is_numeric($emailSenderID) and $emailSenderID > 0 and isset($questionList[$emailSenderID]) and $senderQuestion = $questionList[$emailSenderID] and $senderQuestion->attribute('type') == 'EmailEntry' and eZMail::validate($senderQuestion->attribute('answer'))) {
$emailSender = $senderQuestion->attribute('answer');
} else {
$ini = eZINI::instance();
$emailSender = $ini->variable('MailSettings', 'EmailSender');
if (!$emailSender) {
$emailSender = $ini->variable('MailSettings', 'AdminEmail');
}
}
require_once 'kernel/common/template.php';
$tpl_email = templateInit();
$tpl_email->setVariable('survey', $survey);
$tpl_email->setVariable('survey_questions', $questionList);
$tpl_email->setVariable('survey_node', $node);
$templateResult = $tpl_email->fetch('design:survey/mail.tpl');
$subject = $tpl_email->variable('subject');
$mail = new eZMail();
$mail->setSenderText($emailSender);
$mail->setReceiver($mailTo);
$mail->setSubject($subject);
$mail->setBody($templateResult);
//.........这里部分代码省略.........
示例6: testSSLSending
public function testSSLSending()
{
// test SSL
$ini = eZINI::instance('test_ezmail_ssl.ini');
$mailSetting = $ini->group('MailSettings');
//if SSL information is not set, skip this test
if (!$mailSetting['TransportServer']) {
return;
}
$siteINI = eZINI::instance();
$backupSetting = $siteINI->group('MailSettings');
$siteINI->setVariables(array('MailSettings' => $mailSetting));
$mail = new eZMail();
$mail->setReceiver($mailSetting['TransportUser'], 'TEST RECEIVER');
$mail->setSender($mailSetting['TransportUser'], 'TEST SENDER');
$mail->setSubject('SSL EMAIL TESTING');
$mail->setBody('This is a mail testing. TEST SSL in ' . __METHOD__);
$result = eZMailTransport::send($mail);
$this->assertTrue($result);
$siteINI->setVariables(array('MailSettings' => $backupSetting));
//todo: delete the received mails in teardown.
}
示例7: get
//.........这里部分代码省略.........
$r = ldap_bind($ds, $LDAPBindUser, $LDAPBindPassword);
}
if ($r) {
$ok = 1;
}
// added: release resources, be ready for next test
ldap_close($ds);
}
} else {
$ok = -1;
}
return array('oid' => $oid, 'type' => eZSNMPd::TYPE_INTEGER, 'value' => $ok);
case '2.4.2':
// web connection
$ini = eZINI::instance('snmpd.ini');
$websites = $ini->variable('StatusHandler', 'WebBeacons');
$ok = 0;
if (is_string($websites)) {
$websites = array($websites);
}
foreach ($websites as $key => $site) {
if (trim($site) == '') {
unset($websites[$key]);
}
}
if (count($websites)) {
foreach ($websites as $site) {
// current eZ code is broken if no curl is installed, as it does not check for 404 or such.
// besides, it does not even support proxies...
if (extension_loaded('curl')) {
if (eZHTTPTool::getDataByURL($site, true)) {
$ok = 1;
break;
}
} else {
$data = eZHTTPTool::getDataByURL($site, false);
if ($data !== false && sysInfoTools::isHTTP200($data)) {
$ok = 1;
break;
}
}
}
} else {
$ok = -1;
}
return array('oid' => $oid, 'type' => eZSNMPd::TYPE_INTEGER, 'value' => $ok);
case '2.4.3':
// email connection
$ini = eZINI::instance('snmpd.ini');
$recipient = $ini->variable('StatusHandler', 'MailReceiver');
$ok = 0;
$mail = new eZMail();
if (trim($recipient) != '' && $mail->validate($recipient)) {
$mail->setReceiver($recipient);
$ini = eZINI::instance();
$sender = $ini->variable('MailSettings', 'EmailSender');
$mail->setSender($sender);
$mail->setSubject("Test email");
$mail->setBody("This email was automatically sent while testing eZ Publish connectivity to the mail server. Please do not reply.");
$mailResult = eZMailTransport::send($mail);
if ($mailResult) {
$ok = 1;
}
} else {
$ok = -1;
}
return array('oid' => $oid, 'type' => eZSNMPd::TYPE_INTEGER, 'value' => $ok);
case '2.5.1':
$fileINI = eZINI::instance('file.ini');
$clusterhandler = $fileINI->variable('ClusteringSettings', 'FileHandler');
if ($clusterhandler == 'ezdb' || $clusterhandler == 'eZDBFileHandler') {
$ok = 0;
$dbFileHandler = eZClusterFileHandler::instance();
if ($dbFileHandler instanceof eZDBFileHandler) {
// warning - we dig into the private parts of the cluster file handler,
// as no real API are provided for it (yet)
if (is_resource($dbFileHandler->backend->db)) {
$ok = 1;
}
}
} else {
if ($clusterhandler == 'eZDFSFileHandler') {
// This is even worse: we have no right to know if db connection is ok.
// So we replicate some code here...
$dbbackend = eZExtension::getHandlerClass(new ezpExtensionOptions(array('iniFile' => 'file.ini', 'iniSection' => 'eZDFSClusteringSettings', 'iniVariable' => 'DBBackend')));
try {
$dbbackend->_connect();
$ok = 1;
} catch (exception $e) {
$ok = 0;
}
} else {
$ok = -1;
}
}
return array('oid' => $oid, 'type' => eZSNMPd::TYPE_INTEGER, 'value' => $ok);
}
return self::NO_SUCH_OID;
// oid not managed
}
示例8: runTests
//.........这里部分代码省略.........
$status_tests['ezfind'] = '0';
}
} else {
$status_tests['ezfind'] = 'X';
}
$ini = eZINI::instance('ldap.ini');
if ($ini->variable('LDAPSettings', 'LDAPEnabled') == 'true' && $ini->variable('LDAPSettings', 'LDAPServer') != '') {
if (function_exists('ldap_connect')) {
// code copied over ezldapuser class...
$LDAPVersion = $ini->variable('LDAPSettings', 'LDAPVersion');
$LDAPServer = $ini->variable('LDAPSettings', 'LDAPServer');
$LDAPPort = $ini->variable('LDAPSettings', 'LDAPPort');
$LDAPBindUser = $ini->variable('LDAPSettings', 'LDAPBindUser');
$LDAPBindPassword = $ini->variable('LDAPSettings', 'LDAPBindPassword');
$ds = ldap_connect($LDAPServer, $LDAPPort);
if ($ds) {
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $LDAPVersion);
if ($LDAPBindUser == '') {
$r = ldap_bind($ds);
} else {
$r = ldap_bind($ds, $LDAPBindUser, $LDAPBindPassword);
}
if ($r) {
$status_tests['ldap server'] = '1';
}
}
}
} else {
$status_tests['ldap server'] = 'X';
}
$ini = eZINI::instance('sysinfo.ini');
$websites = $ini->variable('SystemStatus', 'WebBeacons');
if (is_string($websites)) {
$websites = array($websites);
}
foreach ($websites as $key => $site) {
if (trim($site) == '') {
unset($websites[$key]);
}
}
if (count($websites)) {
foreach ($websites as $site) {
// current eZ code is broken if no curl is installed, as it does not check for 404 or such.
// besides, it does not even support proxies...
if (extension_loaded('curl')) {
if (eZHTTPTool::getDataByURL($site, true)) {
$status_tests['web access'] = '1';
break;
}
} else {
$data = eZHTTPTool::getDataByURL($site, false);
if ($data !== false && sysInfoTools::isHTTP200($data)) {
$status_tests['web access'] = '1';
break;
}
}
}
} else {
$status_tests['web access'] = 'X';
}
$ini = eZINI::instance('sysinfo.ini');
$recipient = $ini->variable('SystemStatus', 'MailReceiver');
$mail = new eZMail();
if (trim($recipient) != '' && $mail->validate($recipient)) {
$mail->setReceiver($recipient);
$ini = eZINI::instance();
$sender = $ini->variable('MailSettings', 'EmailSender');
$mail->setSender($sender);
$mail->setSubject("Test email");
$mail->setBody("This email was automatically sent while testing eZ Publish connectivity to the mail server. Please do not reply.");
$mailResult = eZMailTransport::send($mail);
if ($mailResult) {
$status_tests['mail'] = '1';
}
} else {
$status_tests['mail'] = 'X';
}
/*
$ini = eZINI::instance( 'soap.ini' );
if ( $ini->variable( 'GeneralSettings', 'EnableSOAP' ) == 'true' )
{
/// @todo...
}
else
{
$status_tests['ez soap'] = 'X';
}
$ini = eZINI::instance( 'webdav.ini' );
if ( $ini->variable( 'GeneralSettings', 'EnableWebDAV' ) == 'true' )
{
/// @todo...
}
else
{
$status_tests['ez webdav'] = 'X';
}
*/
return $status_tests;
}
示例9: checkContentActions
function checkContentActions($module, $class, $object, $version, $contentObjectAttributes, $EditVersion, $EditLanguage)
{
if ($module->isCurrentAction('Cancel')) {
$http = eZHTTPTool::instance();
if ($http->hasPostVariable('RedirectIfDiscarded')) {
eZRedirectManager::redirectTo($module, $http->postVariable('RedirectIfDiscarded'));
} else {
eZRedirectManager::redirectTo($module, '/');
}
$version->removeThis();
$http = eZHTTPTool::instance();
$http->removeSessionVariable("RegisterUserID");
$http->removeSessionVariable('StartedRegistration');
return eZModule::HOOK_STATUS_CANCEL_RUN;
}
if ($module->isCurrentAction('Publish')) {
$userID = $object->attribute('id');
$operationResult = eZOperationHandler::execute('user', 'register', array('user_id' => $userID));
// send feedback
$ini = eZINI::instance();
$tpl = eZTemplate::factory();
$hostname = eZSys::hostname();
$user = eZUser::fetch($userID);
$feedbackTypes = $ini->variableArray('UserSettings', 'RegistrationFeedback');
foreach ($feedbackTypes as $feedbackType) {
switch ($feedbackType) {
case 'email':
// send feedback with the default email type
$mail = new eZMail();
$tpl->resetVariables();
$tpl->setVariable('user', $user);
$tpl->setVariable('object', $object);
$tpl->setVariable('hostname', $hostname);
$templateResult = $tpl->fetch('design:user/registrationfeedback.tpl');
if ($tpl->hasVariable('content_type')) {
$mail->setContentType($tpl->variable('content_type'));
}
$emailSender = $ini->variable('MailSettings', 'EmailSender');
if ($tpl->hasVariable('email_sender')) {
$emailSender = $tpl->variable('email_sender');
} else {
if (!$emailSender) {
$emailSender = $ini->variable('MailSettings', 'AdminEmail');
}
}
$feedbackReceiver = $ini->variable('UserSettings', 'RegistrationEmail');
if ($tpl->hasVariable('email_receiver')) {
$feedbackReceiver = $tpl->variable('email_receiver');
} else {
if (!$feedbackReceiver) {
$feedbackReceiver = $ini->variable('MailSettings', 'AdminEmail');
}
}
if ($tpl->hasVariable('subject')) {
$subject = $tpl->variable('subject');
} else {
$subject = ezpI18n::tr('kernel/user/register', 'New user registered');
}
$mail->setSender($emailSender);
$mail->setReceiver($feedbackReceiver);
$mail->setSubject($subject);
$mail->setBody($templateResult);
$mailResult = eZMailTransport::send($mail);
break;
default:
$registrationFeedbackClass = false;
// load custom registration feedback settings
if ($ini->hasGroup('RegistrationFeedback_' . $feedbackType)) {
if ($ini->hasVariable('RegistrationFeedback_' . $feedbackType, 'File')) {
include_once $ini->variable('RegistrationFeedback_' . $feedbackType, 'File');
}
$registrationFeedbackClass = $ini->variable('RegistrationFeedback_' . $feedbackType, 'Class');
}
// try to call the registration feedback class with function registrationFeedback
if ($registrationFeedbackClass && method_exists($registrationFeedbackClass, 'registrationFeedback')) {
call_user_func(array($registrationFeedbackClass, 'registrationFeedback'), $user, $tpl, $object, $hostname);
} else {
eZDebug::writeWarning("Unknown feedback type '{$feedbackType}'", 'user/register');
}
}
}
$http = eZHTTPTool::instance();
$http->removeSessionVariable("GeneratedPassword");
$http->removeSessionVariable("RegisterUserID");
$http->removeSessionVariable('StartedRegistration');
// if everything is passed, login the user
if ($operationResult['status'] === eZModuleOperationInfo::STATUS_CONTINUE) {
$user->loginCurrent();
}
// check for redirectionvariable
if ($operationResult['status'] === eZModuleOperationInfo::STATUS_CONTINUE || $operationResult['status'] === eZModuleOperationInfo::STATUS_HALTED) {
if ($http->hasSessionVariable('RedirectAfterUserRegister')) {
$module->redirectTo($http->sessionVariable('RedirectAfterUserRegister'));
$http->removeSessionVariable('RedirectAfterUserRegister');
} else {
if ($http->hasPostVariable('RedirectAfterUserRegister')) {
$module->redirectTo($http->postVariable('RedirectAfterUserRegister'));
} else {
$module->redirectTo('/user/success/');
}
//.........这里部分代码省略.........
示例10: sendMail
/**
* Sends an email and logs all data, with send result, to previously specified log file.
*
* @return bool
*/
public function sendMail()
{
$this->logger->log(str_pad('', 77, '*'), ezcLog::INFO);
$this->logger->log("[Subject] " . $this->subject, ezcLog::INFO);
$this->logger->log("[From email] " . $this->sender, ezcLog::INFO);
$this->logger->log("[To email] " . implode(", ", $this->recipients), ezcLog::INFO);
$this->logger->log("[Message] " . $this->message, ezcLog::INFO);
if (!$this->canBeSend()) {
$this->logger->log("[Send status] " . 0 . "\nImproper email data.", ezcLog::INFO);
return false;
}
$email = new eZMail();
$email->setSubject($this->subject);
$email->setSender($this->sender);
foreach ( $this->recipients as $recipient) {
$email->addReceiver($recipient);
}
$email->setBody($this->message);
$email->setContentType('text/plain', 'UTF-8');
$sendStatus = eZMailTransport::send($email);
$this->logger->log("[Send status] " . $sendStatus, ezcLog::INFO);
return $sendStatus;
}
示例11: eZMail
$tpl->setVariable('NewsletterItem', $NewsletterItem);
$tpl->setVariable('UserHash', $Params['UserHash']);
$tpl->setVariable('subscriptions', $subscription);
if ($http->hasPostVariable('OKButton')) {
$subscription->unsubscribe();
$siteini = eZINI::instance();
$sender = $siteini->variable('MailSettings', 'EmailSender');
$mail = new eZMail();
$mail->setReceiver($sub['email']);
$mail->setSender($sender);
$mail->setSubject(ezpI18n::tr('newsletteraddons', "Your subscription removal"));
$hostName = eZSys::hostname();
$mailtpl = eZTemplate::instance();
$mailtpl->setVariable('hostname', $hostName);
$mailtpl->setVariable('siteaccess', $GLOBALS['eZCurrentAccess']['name']);
$mailtpl->setVariable('NewsletterItem', $NewsletterItem);
$mailtext = $mailtpl->fetch('design:eznewsletter/unregister_subscription_email.tpl');
$mail->setBody($mailtext);
eZMailTransport::send($mail);
$Result = array();
$Result['content'] = $tpl->fetch("design:eznewsletter/unregister_subscription_success.tpl");
$Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('eznewsletter', 'Remove subscription')));
return;
}
if ($http->hasPostVariable('CancelButton')) {
$ini = eZINI::instance();
return $Module->redirectTo($ini->variable('SiteSettings', 'DefaultPage'));
}
$Result = array();
$Result['content'] = $tpl->fetch("design:eznewsletter/unregister_subscription.tpl");
$Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('eznewsletter', 'Remove subscription')));
示例12: sendConfirmation
function sendConfirmation($email, $subscription, $subscribe)
{
//send mail
$res = eZTemplateDesignResource::instance();
$ini = eZINI::instance();
$hostname = eZSys::hostname();
if ($subscribe) {
$template = 'design:eznewsletter/sendout/subscription.tpl';
} else {
$template = 'design:eznewsletter/sendout/unsubscription.tpl';
}
$tpl = eZNewsletterTemplateWrapper::templateInit();
$tpl->setVariable('userData', eZUserSubscriptionData::fetch($email));
$tpl->setVariable('hostname', $hostname);
$tpl->setVariable('subscription', $subscription);
$subscriptionList = eZSubscriptionList::fetch($subscription->attribute('subscriptionlist_id'), eZSubscriptionList::StatusPublished, true, true);
$tpl->setVariable('subscriptionList', $subscriptionList);
$templateResult = $tpl->fetch($template);
if ($tpl->hasVariable('subject')) {
$subject = $tpl->variable('subject');
}
$mail = new eZMail();
$mail->setSender($ini->variable('MailSettings', 'EmailSender'));
$mail->setReceiver($email);
$mail->setBody($templateResult);
$mail->setSubject($subject);
eZMailTransport::send($mail);
}
示例13: checkContentActions
function checkContentActions($module, $class, $object, $version, $contentObjectAttributes, $EditVersion, $EditLanguage)
{
if ($module->isCurrentAction('Cancel')) {
$http = eZHTTPTool::instance();
if ($http->hasPostVariable('RedirectIfDiscarded')) {
eZRedirectManager::redirectTo($module, $http->postVariable('RedirectIfDiscarded'));
} else {
eZRedirectManager::redirectTo($module, '/');
}
$version->removeThis();
$http = eZHTTPTool::instance();
$http->removeSessionVariable("RegisterUserID");
$http->removeSessionVariable('StartedRegistration');
return eZModule::HOOK_STATUS_CANCEL_RUN;
}
if ($module->isCurrentAction('Publish')) {
$http = eZHTTPTool::instance();
$user = eZUser::currentUser();
$operationResult = eZOperationHandler::execute('content', 'publish', array('object_id' => $object->attribute('id'), 'version' => $version->attribute('version')));
// Break here if the publishing failed
if ($operationResult['status'] !== eZModuleOperationInfo::STATUS_CONTINUE) {
eZDebug::writeError('User object(' . $object->attribute('id') . ') could not be published.', 'user/register');
$module->redirectTo('/user/register/3');
return;
}
$object = eZContentObject::fetch($object->attribute('id'));
// Check if user should be enabled and logged in
unset($user);
$user = eZUser::fetch($object->attribute('id'));
$user->loginCurrent();
$receiver = $user->attribute('email');
$mail = new eZMail();
if (!$mail->validate($receiver)) {
}
$ini = eZINI::instance();
$tpl = eZTemplate::factory();
$tpl->setVariable('user', $user);
$tpl->setVariable('object', $object);
$hostname = eZSys::hostname();
$tpl->setVariable('hostname', $hostname);
$password = $http->sessionVariable("GeneratedPassword");
$tpl->setVariable('password', $password);
// Check whether account activation is required.
$verifyUserType = $ini->variable('UserSettings', 'VerifyUserType');
$sendUserMail = !!$verifyUserType;
// For compatibility with old setting
if ($verifyUserType === 'email' && $ini->hasVariable('UserSettings', 'VerifyUserEmail') && $ini->variable('UserSettings', 'VerifyUserEmail') !== 'enabled') {
$verifyUserType = false;
}
if ($verifyUserType === 'email') {
// Disable user account and send verification mail to the user
$userID = $object->attribute('id');
// Create enable account hash and send it to the newly registered user
$hash = md5(mt_rand() . time() . $userID);
if (eZOperationHandler::operationIsAvailable('user_activation')) {
$operationResult = eZOperationHandler::execute('user', 'activation', array('user_id' => $userID, 'user_hash' => $hash, 'is_enabled' => false));
} else {
eZUserOperationCollection::activation($userID, $hash, false);
}
// Log out current user
eZUser::logoutCurrent();
$tpl->setVariable('hash', $hash);
$sendUserMail = true;
} else {
if ($verifyUserType) {
$verifyUserTypeClass = false;
// load custom verify user settings
if ($ini->hasGroup('VerifyUserType_' . $verifyUserType)) {
if ($ini->hasVariable('VerifyUserType_' . $verifyUserType, 'File')) {
include_once $ini->variable('VerifyUserType_' . $verifyUserType, 'File');
}
$verifyUserTypeClass = $ini->variable('VerifyUserType_' . $verifyUserType, 'Class');
}
// try to call the verify user class with function verifyUser
if ($verifyUserTypeClass && method_exists($verifyUserTypeClass, 'verifyUser')) {
$sendUserMail = call_user_func(array($verifyUserTypeClass, 'verifyUser'), $user, $tpl);
} else {
eZDebug::writeWarning("Unknown VerifyUserType '{$verifyUserType}'", 'user/register');
}
}
}
// send verification mail to user if email type or custum verify user type returned true
if ($sendUserMail) {
$templateResult = $tpl->fetch('design:user/registrationinfo.tpl');
if ($tpl->hasVariable('content_type')) {
$mail->setContentType($tpl->variable('content_type'));
}
$emailSender = $ini->variable('MailSettings', 'EmailSender');
if ($tpl->hasVariable('email_sender')) {
$emailSender = $tpl->variable('email_sender');
} else {
if (!$emailSender) {
$emailSender = $ini->variable('MailSettings', 'AdminEmail');
}
}
if ($tpl->hasVariable('subject')) {
$subject = $tpl->variable('subject');
} else {
$subject = ezpI18n::tr('kernel/user/register', 'Registration info');
}
//.........这里部分代码省略.........
示例14: sendEmailWithEz
/**
*
* @param unknown_type $emailSender
* @param unknown_type $emailReciever
* @param unknown_type $emailSubject
* @param unknown_type $emailBody
* @param string $emailContentType
* @param string $emailCharset
* @return array
*/
function sendEmailWithEz($emailSender, $emailReciever, $emailSubject, $emailBody, $emailContentType = 'text/html', $emailCharset = 'utf-8')
{
$mail = new eZMail();
$redirectURL = false;
$mail->setReceiver(trim($emailReciever));
$mail->setSender(trim($emailSender));
$mail->setSubject($emailSubject);
$mail->setBody($emailBody);
// $mail->setContentType( $type = 'text/html', $charset = false, $transferEncoding = false, $disposition = false, $boundary = false);
$mail->setContentType($emailContentType, $emailCharset, $transferEncoding = false, $disposition = false, $boundary = false);
$emailResultArray = array();
$emailResult = eZMailTransport::send($mail);
$emailResult = array('email_result' => $emailResult, 'email_sender' => $emailSender, 'email_reciever' => $emailReciever, 'email_subject' => $emailSubject, 'email_content_type' => $emailContentType, 'email_charset' => $emailCharset);
if ($mailResult === true) {
$message = "send - " . $receiver['email'] . " - " . $receiver['name'];
} else {
$message = "not send - " . $receiver['email'] . " - " . $receiver['name'];
}
return $emailResult;
}
示例15: testExcludeHaders
/**
* See site.ini [MailSettings] ExcludeHeaders
*/
public function testExcludeHaders()
{
ezpINIHelper::setINISetting('site.ini', 'MailSettings', 'Transport', 'SMTP');
ezpINIHelper::setINISetting('site.ini', 'MailSettings', 'ExcludeHeaders', array('bcc'));
$mail = new eZMail();
$mail->setReceiver('johndoe@example.com', 'John Doe');
$mail->setSender('janedoe@example.com', 'Jane Doe');
$mail->addBcc('jimdoe@example.com', 'Jim Doe');
$mail->setSubject('Testing ExcludeHeaders');
$mail->setBody('Jim should not get this email.');
// BCC should be set at this point
$this->assertTrue(strpos($mail->Mail->generateHeaders(), 'Bcc: Jim Doe <jimdoe@example.com>') > 0);
// We don't care if the mail gets sent. What's important is what happens to the headers.
eZMailTransport::send($mail);
// BCC should not be set anymore at this point, because of ExcludeHeaders
$this->assertFalse(strpos($mail->Mail->generateHeaders(), 'Bcc: Jim Doe <jimdoe@example.com>') > 0);
}