0

i got this error

Fatal error: Uncaught exception 'Exception' with message 'Warning: simplexml_load_string(): Entity: line 41: parser error : StartTag: invalid element name in public_html/lib/Varien/Simplexml/Config.php on line 383' in public_html/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 [internal function]: mageCoreErrorHandler(2, 'simplexml_load_...', '/p...', 383, Array) #1 /public_html/lib/Varien/Simplexml/Config.php(383): simplexml_load_string('loadCache() #3 /public_html/app/code/core/Mage/Core/Model/Config.php(255): Mage_Core_Model_Config->loadModulesCache() #4 /public_html/app/code/core/Mage/Core/Model/App.php(277): Mage_Core_Model_Config->init(Array) #5 /public_html/app/Mage.php(616): Mage_Core_Model_App->init('', 'store', Array) #6 /public_html/sendmail.php(6): Mage: in /public_html/app/code/core/Mage/Core/functions.php on line 245

Using this script

<?php
ini_set('display_errors',true);
include 'app/Mage.php';
Mage::setIsDeveloperMode(true);
Mage::app();
$coll = Mage::getResourceModel('customer/customer_collection');
$coll->addFieldToFilter('group_id',1);
foreach ($coll as $customer) {
$customer->setForceConfirmed(true);
$sendPassToEmail = true;
$customer->setPassword($customer->generatePassword());
$customer->save();
$customer->sendNewAccountEmail('registered', '',
$customer->getStoreId());
}
Qaisar Satti
32.6k18 gold badges88 silver badges138 bronze badges
asked Aug 25, 2016 at 6:21

2 Answers 2

0

As this isn't real fix of your issue but, as it is still a warning, not real fatal error (this fatal is due to uncaught exception), you can temporary hide xml warnings by using this line right after ini_set

libxml_use_internal_errors(true);

Question: why you don't use shell script extending Mage_Shell_Abstract class? It's easy to implement only one method run().

answered Aug 25, 2016 at 9:54
1
  • can you give me a example for send bulk email to all users Commented Aug 25, 2016 at 10:03
0

I'm not fan of bulk mailing 15k unique customers using Zend_Mail but here you go:

 /** Returns mail transport object
 * @param $email
 * @param $name
 * @param $templateId
 * @param $emailTemplateVariables
 * @return Mage_Core_Model_Email_Template_Mailer
 */
 protected function getMailObj($email, $name, $templateId, $emailTemplateVariables = array())
 {
 $emailInfo = Mage::getModel('core/email_info');
 $emailInfo->addTo($email, $name);
 /** @var $mailObject Mage_Core_Model_Email_Template_Mailer */
 $mailObject = Mage::getModel('core/email_template_mailer');
 $mailObject->addEmailInfo($emailInfo);
 $mailObject->setSender(
 array(
 'email' => Mage::getStoreConfig('trans_email/ident_general/email'),
 'name' => Mage::getStoreConfig('trans_email/ident_general/name')
 )
 );
 $mailObject->setTemplateId($templateId);
 $mailObject->setTemplateParams($emailTemplateVariables);
 return $mailObject;
 }
 /** Send new email
 * @return Mage_Core_Model_Email_Template_Mailer
 */
 public function sendEmail($email, $name, $surname, $mailTemplateId)
 {
 $mail = $this->getMailObj(
 $email,
 $name . ' ' . $surname,
 $mailTemplateId,
 // these are optional parameters passed to your email template
 /*
 array(
 'test1' => 'testa',
 'test2' => 'testb'
 )
 */
 );
 return $mail->send();
 }

Where $mailTemplateId is your email template Id created in magento backend. To add another email to queue use: addEmailInfo method before sending.

answered Aug 25, 2016 at 10:17

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.