WebHU - Programozási kérdések és válaszok

küldjön html levelet codeigniter segítségével

Hiba a levéltartalomban SMTP használatával a codeigniterben. Valójában a leveleimet HTML címkékkel küldik, és a HTML címkéket jelenítik meg, ami nem helyes.

$config = Array(
'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => '[email protected]',
        'smtp_pass' => '',
        'mailtype'  => 'html', 
        'charset' => 'utf-8',
        'wordwrap' => TRUE

    );
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $email_body ="<div>hello world</div>";
    $this->email->from('[email protected]', 'ddd');

    $list = array('[email protected]');
    $this->email->to($list);
    $this->email->subject('Testing Email');
    $this->email->message($email_body);

    $this->email->send();
    echo $this->email->print_debugger();

Ha SMTP használata nélkül küldök levelet, akkor jól működik. mi a hibám?

01.02.2012

  • Nem hiszem, hogy a ssl:// része egy gazdagépnévnek. Esetleg van más beállítás az SSL bekapcsolására? 04.02.2012
  • codeigniter teljes html e-mail konfiguráció: stackoverflow.com/a/38740292/4376484 03.08.2016

Válaszok:


1

Kipróbálhatja ezt a kódsort, amely beállítja a HTML e-mail típusát:

 $this->email->set_mailtype("html");
01.02.2012

2

A CodeIgniter 3.x állapot szerint. Számos funkció került hozzáadásra. Ez a példa majdnem ugyanaz, mint a korábbi verziók, de sokkal többet tehet.

Kövesse a linket a dokumentációért.

// load email library
$this->load->library('email');

// prepare email
$this->email
    ->from('[email protected]', 'Example Inc.')
    ->to('[email protected]')
    ->subject('Hello from Example Inc.')
    ->message('Hello, We are <strong>Example Inc.</strong>')
    ->set_mailtype('html');

// send email
$this->email->send();

Ha van sablonterv. A sablont a message metódusba is beillesztheti, így ...

->message($this->load->view('email_template', $data, true))

Itt az első paraméter a email_template.php a nézetek könyvtárában, a második paraméter az e-mail sablonba küldendő adatok, beállíthatja, hogy '' vagy array() vagy [], ha nem ad át semmilyen dinamikus adatot, és az utolsó paraméter true győződjön meg róla, hogy megfogja a sablon adatait helyett kimenet.

Remélem, ez hasznos.

24.06.2015
  • Én már próbáltam így. Az e-mail sikeresen elküldve. de a probléma az, hogy a html törzsemben lévő képek nem láthatók. az összes alkalmazott szöveget és stílust. de nincsenek képek. mi a probléma? 22.06.2020

  • 3

    A levél típusának beállítása HTML-re működik nekem:

    $email_setting  = array('mailtype'=>'html');
    $this->email->initialize($email_setting);
    
    18.03.2013

    4

    Próbálja meg manuálisan beállítani a tartalomtípus fejlécét a következőképpen:

    $this->email->set_header('Content-Type', 'text/html');
    

    Ez megoldja a problémát számomra.

    30.04.2018

    5

    HTML e-mail küldéséhez először össze kell írnia az üzenetet egy változóban, majd át kell adnia ezt a változót a codeigniter "$this->email->message()" metódusának, az alábbiak szerint.

     $this->load->library('email');
    
     $message = "
         <html>
           <head>
             <title>your title</title>
           </head>
           <body>
             <p>Hello Sir,</p>
             <p>Your message</p>
           </body>
         </html>";
    
       $this->email->from('email id', 'name');
       $this->email->to('email id');
    
       $this->email->subject('email subject');
       $this->email->message($message);
    
       if ($this->email->send()) {
         print "success";
       } else {
         print "Could not send email, please try again later";
       }
    

    remélem segít.

    Élvezd!!

    21.05.2018

    6

    Megpróbálnád ezzel a kóddal, B'z tudok HTML e-mailt küldeni ezzel a kóddal.

    $configemail = Array(
            'protocol' => 'smtp',
            'smtp_host' => 'ssl://smtp.gmail.com', //mail.webconsort.com
            'smtp_port' => 465, //5074
            'smtp_user' => '[email protected]', //[email protected]
            'smtp_pass' => 'XXXXXXXX', //'T0r0r1d3'
            'mailtype'  => 'html', 
            'charset'   => 'iso-8859-1'
        );
    
        $CI =& get_instance();
    
        $CI->load->library('email', $configemail);
    
        $CI->email->initialize($configemail);
        $CI->email->set_newline("\r\n");
    
        $CI->email->from($from, $fromName);
        $CI->email->to($to); 
    
        $CI->email->subject($subject);
        $CI->email->message($body);
        if ($attachments != null && !empty($attachments)){
            foreach($attachments as $a){
                $CI->email->attach($a);
            }
        }
    
        try{
            $CI->email->send();
            return true;
        }
        catch (Exception $e){
            //var_dump($e);
        }
    
    24.05.2017

    7

    A Gmail megakadályozza a fiókhoz való hozzáférést. Néhány változtatásra van szükséged a gmaileden:-

    Lépés: 1

    Egyes alkalmazások és eszközök kevésbé biztonságos bejelentkezési technológiát használnak, ami sebezhetőbbé teszi fiókját. Kikapcsolhatja ezeknek az alkalmazásoknak a hozzáférését, amit javasolunk, vagy bekapcsolhatja a hozzáférést, ha a kockázatok ellenére használni szeretné őket.

    Kevésbé biztonságos alkalmazás bekapcsolása

    Lépés: 2

    IMAP állapot engedélyezése
    POP állapot engedélyezése

    IMAP és POP állapot engedélyezése

    27.12.2017

    8

    add hozzá ezeket a kódsorokat:

    $this->email->set_mailtype("html");
    $this->email->set_newline("\r\n");
    $this->email->set_crlf("\r\n");
    
    08.04.2020
  • Bár ez a kód megoldhatja a kérdést, egy magyarázattal, hogy ez hogyan és miért oldja meg a problémát, valóban segítene a minőség javításában bejegyzése, és valószínűleg több pozitív szavazatot eredményez. Ne feledje, hogy a jövőben az olvasóknak válaszol a kérdésre, nem csak annak, aki most kérdez. Kérjük, szerkessze válaszát, hogy magyarázatokat adjon hozzá, és jelezze, milyen korlátozások és feltételezések vonatkoznak rá. 09.04.2020

  • 9

    A problémám az volt, hogy a Codeigniter Global XSS Filtering programja olyan html címkéket kódolt, mint a <html>, így az e-mail kliensek már nem tudták felismerni őket.

    Ennek megkerüléséhez tekintse meg másik bejegyzésemet.

    17.07.2012

    10

    Használd így.. nekem nagyon bevált.

    $this->load->library('email');
    
    $config['charset'] = 'iso-8859-1';
    
    $config['wordwrap'] = TRUE;
    
    $config['mailtype'] = 'html';
    
    $this->email->initialize($config);
    
    $this->email->from($fromemail);
    
    $this->email->to($toemail);
    
    $this->email->subject('Subject');
    
    $this->email->message($html);
    
    $success=$this->email->send();
    
    27.12.2017

    11

    ki fogod próbálni!! az enyémnél működik, miután sok hibát mutatott, 100%-ban működik.

            $subject = 'New message.';
            $config = Array(        
                'protocol' => 'sendmail',
                'smtp_host' => 'Your smtp host',
                'smtp_port' => 465,
                'smtp_user' => 'webmail',
                'smtp_pass' => 'webmail pass',
                'smtp_timeout' => '4',
                'mailtype'  => 'html', 
                'charset'   => 'utf-8',
                'wordwrap' => TRUE
            );
            $this->load->library('email', $config);
            $this->email->set_newline("\r\n");
            $this->email->set_header('MIME-Version', '1.0; charset=utf-8');
            $this->email->set_header('Content-type', 'text/html');
    
            $this->email->from('from mail address', 'Company name ');
            $data = array(
                 'message'=> $this->input->post('message')
                     );
            $this->email->to($toEmail);  
            $this->email->subject($subject); 
    
            $body = $this->load->view('email/sendmail.php',$data,TRUE);
            $this->email->message($body);   
            $this->email->send();
    
    03.05.2018

    12
  • Lehet, hogy ez a válasz helyes, de részletesebben ki kell fejtenie, hogy a példakód miben különbözik lényegesen a kérdésben szereplőtől. (Azt hiszem, a fontos különbség a set_mailtype(html); sor a kódodban, ami hiányzik a kérdésben szereplő kódból.) 10.04.2020
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..