Tutorial Yii2 Bagian 21 : Mengirim Email beserta Attachment

Di kesempatan kali ini kita akan membahas cara untuk membuat form email dan memberikan pilihan untuk menyertakan attachment pada email tersebut.

1. Buat tabel email dengan atribut ini :

Tutorial-yii2-mengirim-email-dengan-attachment

2. Buat model dan crud menggunakan gii pada tabel email.

3. Tambahkan mailer di dalam config/main.php

4. Modifikasi file _form.php dengan menambahkan tipe input fileInput untuk attachment dan jangan lupa untuk menambahkan enctype multipart/form-data untuk activeform :

5. Modifikasi EmailController pada actionCreate dan jangan lupa tambahkan use yii\web\UploadedFile :

6. Jangan lupa untuk membuat folder baru bernama attachments di dalam folder web.

Tutorial-yii2-mengirim-email-dengan-attachment1

 

Tutorial ini sebagai dokumentasi dan pembelajaran pribadi sekalian belajar terjemahin bahasa Inggris, dan siapa tahu bermanfaat buat orang lain. Sumber lengkapnya diambil dari Youtube DoingITEasy Channel.

4 thoughts on “Tutorial Yii2 Bagian 21 : Mengirim Email beserta Attachment

  • Saya ikutin langkah seperti diatas gan, tpi kenapa ngga bisa ya ? terus muncul peringatan (Swift_TransportException
    Expected response code 220 but got code “”, with message “”)

    Apa ada settingan tambahan?

  • Saya ikutin langkah seperti diatas gan, tpi kenapa ngga bisa ya ? terus muncul peringatan

    Swift_TransportException: Process could not be started [The system cannot find the path specified.
    ] in C:\wamp64\www\advanced\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:299
    Stack trace:
    #0 C:\wamp64\www\advanced\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php(54): Swift_Transport_StreamBuffer->establishProcessConnection()
    #1 C:\wamp64\www\advanced\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php(143): Swift_Transport_StreamBuffer->initialize(Array)
    #2 C:\wamp64\www\advanced\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\SendmailTransport.php(50): Swift_Transport_AbstractSmtpTransport->start()
    #3 C:\wamp64\www\advanced\vendor\yiisoft\yii2-swiftmailer\src\Mailer.php(113): Swift_Transport_SendmailTransport->start()
    #4 C:\wamp64\www\advanced\vendor\yiisoft\yii2-swiftmailer\src\Mailer.php(156): yii\swiftmailer\Mailer->getSwiftMailer()
    #5 C:\wamp64\www\advanced\vendor\yiisoft\yii2\mail\BaseMailer.php(263): yii\swiftmailer\Mailer->sendMessage(Object(yii\swiftmailer\Message))
    #6 C:\wamp64\www\advanced\vendor\yiisoft\yii2\mail\BaseMessage.php(49): yii\mail\BaseMailer->send(Object(yii\swiftmailer\Message))
    #7 C:\wamp64\www\advanced\backend\controllers\EmailController.php(83): yii\mail\BaseMessage->send()
    #8 [internal function]: backend\controllers\EmailController->actionCreate()
    #9 C:\wamp64\www\advanced\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
    #10 C:\wamp64\www\advanced\vendor\yiisoft\yii2\base\Controller.php(157): yii\base\InlineAction->runWithParams(Array)
    #11 C:\wamp64\www\advanced\vendor\yiisoft\yii2\base\Module.php(528): yii\base\Controller->runAction(‘create’, Array)
    #12 C:\wamp64\www\advanced\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction(’email/create’, Array)
    #13 C:\wamp64\www\advanced\vendor\yiisoft\yii2\base\Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
    #14 C:\wamp64\www\advanced\backend\web\index.php(17): yii\base\Application->run()
    #15 {main}
    Copy Stacktrace Search Stackoverflow Search Google Exception
    Swift_TransportException
    Process could not be started [The system cannot find the path specified.
    ]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.