Приложение электронной почты не работает в пользовательском коде Vtiger для электронной почты - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь отправить вложение по электронной почте с помощью sen_email () из vtiger, но это не работает.Я использую эту библиотеку: modules / Emails / mail.php "и отправляю функцию электронной почты следующим образом:

Я получаю электронную почту, используя эту функцию, но вложение не работает.

Может кто-нибудь помочья здесь?

$attachment = "test/logo/navlogo.png";
send_mail('Potentials', "toemail id",'', "from email id", "test", "testtt","","",$attachment);

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете написать custom function вместо использования функции по умолчанию send_email

Ваша пользовательская функция будет выглядеть как

//In params pass necessary details like toName, fromName, emailBody, fileurl etc

 public function send_custom_email($params) {
        global $adb;

        $mail_body      = html_entity_decode($params['mail_body']);
        $serverSql      = 'SELECT server, server_username, server_password, smtp_auth  FROM  vtiger_systems WHERE server_type = ?';
        $result         = $adb->pquery( $serverSql, array('email') );
        $mailserver     = $adb->query_result( $result, 0, 'server' );
        $mailuname      = $adb->query_result( $result, 0, 'server_username' );
        $mailpwd        = $adb->query_result( $result, 0, 'server_password' );
        $smtp_auth      = $adb->query_result( $result, 0, 'smtp_auth' );

        $mail           = new PHPMailer();
        $initialfrom    = $from;
        $mail->Subject  = $params['subject'];
        $mail->Body     = $mail_body;
        $mail->Host     = $mailserver;
        $mail->IsHTML(true);
        $mail->IsSMTP();

        if ( $smtp_auth == 'true' )
            $mail->SMTPAuth = true;
        else
            $mail->SMTPAuth = false;

        $mail->Username = $mailuname;
        $mail->Password = $mailpwd;
        $mail->From     = $from;
        $mail->FromName = $initialfrom;

        $mail->AddAddress($to);
        $mail->AddReplyTo($from);

        // add attachment
        $file_name      = basename($params['file_path']);
        $file_to_attach = $params['file_path'];
        $mail->AddAttachment($file_to_attach, $file_name);


        if ( !$mail->Send() ){
            return false;
        }

        return true;
    } 
...