向用户和管理员提交表单 - Magento、PHP 和 Zend Mail
Form Submission to User and Admin - Magento, PHP and Zend Mail
我在 Magento 工作,刚接触 PHP 和 Zend Mail。
该表单是以前开发的,旨在将表单提交发送到 3 个不同的电子邮件地址。电子邮件地址是从 "Contacts".
下的我们的管理部分提取的
我想添加用户在提交表单后收到的自动回复。
它有效,但问题是用户每次提交表单都会收到 3 封单独的自动发送的电子邮件。我相信专业人士在看到下面的代码时会立即明白为什么。
作为新手,我希望你 guys/gals 可以帮助我修复代码。提前致谢!
try {
foreach($split as $multiemail){
$mail = new Zend_Mail();
$mail->setBodyText($rq_msg);
$mail->setBodyHtml($rq_msg);
$mail->setFrom($fromEmail, $fromName);
$mail->addTo($multiemail, $adminName);
$mail->setSubject('New request from customer: '.$fromName);
$mail->send();
$mail = new Zend_Mail();
$mail->setBodyText($cust_msg);
$mail->setBodyHtml($cust_msg);
$mail->setFrom('our@email.com');
$mail->addTo($fromEmail);
$mail->setSubject('Your request was received, '.$fromName);
$mail->send();
}
}
catch(Exception $e) {
echo $e->getMassage();
}
Mage::getSingleton('core/session')
->addSuccess(Mage::helper('contacts')
->__('Your inquiry was submitted and will be responded to
as soon as possible. Thank you for contacting us.');
$this->_redirectUrl($request['redirecturl']);
您正在循环向用户发送电子邮件。将用户电子邮件移出循环,使其只发生一次。
<?php
try {
foreach ($split as $multiemail) {
$mail = new Zend_Mail();
$mail->setBodyText($rq_msg);
$mail->setBodyHtml($rq_msg);
$mail->setFrom($fromEmail, $fromName);
$mail->addTo($multiemail, $adminName);
$mail->setSubject('New request from customer: ' . $fromName);
$mail->send();
}
$mail = new Zend_Mail();
$mail->setBodyText($cust_msg);
$mail->setBodyHtml($cust_msg);
$mail->setFrom('our@email.com');
$mail->addTo($fromEmail);
$mail->setSubject('Your request was received, ' . $fromName);
$mail->send();
}
catch (Exception $e) {
echo $e->getMassage();
}
Mage::getSingleton('core/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
$this->_redirectUrl($request[ 'redirecturl' ]);
我在 Magento 工作,刚接触 PHP 和 Zend Mail。
该表单是以前开发的,旨在将表单提交发送到 3 个不同的电子邮件地址。电子邮件地址是从 "Contacts".
下的我们的管理部分提取的我想添加用户在提交表单后收到的自动回复。
它有效,但问题是用户每次提交表单都会收到 3 封单独的自动发送的电子邮件。我相信专业人士在看到下面的代码时会立即明白为什么。
作为新手,我希望你 guys/gals 可以帮助我修复代码。提前致谢!
try {
foreach($split as $multiemail){
$mail = new Zend_Mail();
$mail->setBodyText($rq_msg);
$mail->setBodyHtml($rq_msg);
$mail->setFrom($fromEmail, $fromName);
$mail->addTo($multiemail, $adminName);
$mail->setSubject('New request from customer: '.$fromName);
$mail->send();
$mail = new Zend_Mail();
$mail->setBodyText($cust_msg);
$mail->setBodyHtml($cust_msg);
$mail->setFrom('our@email.com');
$mail->addTo($fromEmail);
$mail->setSubject('Your request was received, '.$fromName);
$mail->send();
}
}
catch(Exception $e) {
echo $e->getMassage();
}
Mage::getSingleton('core/session')
->addSuccess(Mage::helper('contacts')
->__('Your inquiry was submitted and will be responded to
as soon as possible. Thank you for contacting us.');
$this->_redirectUrl($request['redirecturl']);
您正在循环向用户发送电子邮件。将用户电子邮件移出循环,使其只发生一次。
<?php
try {
foreach ($split as $multiemail) {
$mail = new Zend_Mail();
$mail->setBodyText($rq_msg);
$mail->setBodyHtml($rq_msg);
$mail->setFrom($fromEmail, $fromName);
$mail->addTo($multiemail, $adminName);
$mail->setSubject('New request from customer: ' . $fromName);
$mail->send();
}
$mail = new Zend_Mail();
$mail->setBodyText($cust_msg);
$mail->setBodyHtml($cust_msg);
$mail->setFrom('our@email.com');
$mail->addTo($fromEmail);
$mail->setSubject('Your request was received, ' . $fromName);
$mail->send();
}
catch (Exception $e) {
echo $e->getMassage();
}
Mage::getSingleton('core/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
$this->_redirectUrl($request[ 'redirecturl' ]);