【问题标题】:Form Submission to User and Admin - Magento, PHP and Zend Mail向用户和管理员提交表单 - Magento、PHP 和 Zend Mail
【发布时间】:2018-03-18 07:04:51
【问题描述】:

我在 Magento 工作,是 PHP 和 Zend Mail 的新手。

该表单是以前开发的,旨在将表单提交发送到 3 个不同的电子邮件地址。电子邮件地址是从“联系人”下的“管理”部分中提取的。

我想添加用户在提交表单后收到的自动回复。

它有效,但问题是用户每次提交表单都会收到 3 封单独的自动电子邮件。我相信您的专业人士会在看到下面的代码时立即明白为什么。

作为一个新手,我希望你们/女孩可以帮助我修复代码。提前致谢!

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 email magento zend-framework


    【解决方案1】:

    您正在循环中向用户发送电子邮件。将用户电子邮件移出循环,使其只发生一次。

    <?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' ]);
    

    【讨论】:

    • 太棒了-效果很好。非常感谢您的时间和精力,bassxzero。
    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多