Zend Mail kullanarak e-posta göndermeye çalışırken bir ayrıştırma hatası alıyorum?

2 Cevap php

Merhaba ben zend posta kullanarak e-posta göndermek için açamıyorum bazı garip nedenle çocuklar: (- Ben şu hatayı almaya devam:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING in /home/fltdata/domains/fltdata.com/public_html/admin/g-app/includes/mailer.php on line 77

Aşağıda benim kodudur:

if($_POST):

    $fields = array('to', 'cc', 'bcc', 'subject', 'body');
    $req_fields = array('to', 'subject', 'body');

    foreach($fields as $vv)
    {
        if( ($_POST[$vv]=='')&&(in_array($vv, $req_fields)) ):
            $errors[$vv] = strtoupper($vv.' is required');
        else:
            $$vv = $_POST[$vv];
        endif;
    }

    if(count($errors)==0):

        $to = explode(',', $_POST['to']);
        $cc = explode(',', $_POST['cc']);
        $bcc = explode(',', $_POST['bcc']);

        //check if the emails are valid
        foreach($to as $one_email)
        {
            if(!is_valid_email($one_email)):
                $errors['to'].= $one_email.' is not a valid email<br/>';
            endif;
        }

        foreach($cc as $one_email)
        {
            if(!is_valid_email($one_email)):
                $errors['cc'].= $one_email.' is not a valid email<br/>';
            endif;
        }

        foreach($bcc as $one_email)
        {
            if(!is_valid_email($one_email)):
                $errors['bcc'].= $one_email.' is not a valid email<br/>';
            endif;
        }
    endif;

    if(count($errors)==0):
        $config = array(    'auth' => 'login', 
                                'username' =>$current_dept->email, 
                                'password' => $current_dept->email_psd );

        $transport = new Zend_Mail_Transport_Smtp($current_dept->outgoing_server, $config);
        Zend_Mail::setDefaultFrom($current_dept->email, _get_session('name'));
        Zend_Mail::setDefaultReplyTo($current_dept->email);

        $mail = new Zend_Mail();
        $mail->addTo($to);

        if(count($cc)>0)
            $mail->addCc($cc);

        if(count($bcc)>0)
            $mail->addBcc($bcc);

        $mail->setSubject($subject);
        $mail->setBodyText($body);

        try{
        ($mail->send($transport));
        } catch($e){ // this is line 77 but wheres the error?
            echo 'OUCH';
        }

    endif;

endif;

Ayrıştırıcı devletler sadece bir catch deyimi vardır hattı - burada hata WHERES yardım lütfen

2 Cevap

Yerine catch($e){ Kullanım

catch (Exception $e) {

bkz http://docs.php.net/language.exceptions

($mail->send($transport)); iyi görünmüyor.

Bu deneyin:

try{
    $mail->send($transport); // (...) removed
} catch($e){ // this is line 77 but wheres the error?
    echo 'OUCH';
}