Symfony - การจัดการอีเมล

ฟังก์ชันอีเมลเป็นคุณลักษณะที่ได้รับการร้องขอมากที่สุดในกรอบงานเว็บ แม้แต่แอปพลิเคชันง่ายๆก็จะมีแบบฟอร์มการติดต่อและรายละเอียดจะถูกส่งไปยังผู้ดูแลระบบทางอีเมล Symfony ผสานรวมSwiftMailerโมดูลอีเมล PHP ที่ดีที่สุดในตลาด SwiftMailer เป็นไลบรารีอีเมลที่ยอดเยี่ยมซึ่งมีตัวเลือกในการส่งอีเมลโดยใช้ sendmail แบบเก่าไปยังแอปพลิเคชันจดหมายบนคลาวด์

ให้เราเข้าใจแนวคิดของการส่งจดหมายใน Symfony ด้วยการส่งอีเมลธรรมดา ก่อนที่จะเขียนฟังก์ชันจดหมายให้ตั้งค่ารายละเอียดการกำหนดค่าจดหมายในapp/config/parameters.yml. จากนั้นสร้างฟังก์ชันใหม่MailerSample ใน DefaultController และเพิ่มรหัสต่อไปนี้

/** 
   * @Route("/mailsample/send", name="mail_sample_send") 
*/ 
public function MailerSample() { 
   $message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody( 
      $this->renderView('Emails/sample.html.twig'), 'text/html' );  
      
   $this->get('mailer')->send($message);  
   return new Response("Mail send"); 
}

ที่นี่เราได้สร้างข้อความโดยใช้ SwiftMailer คอมโพเนนต์และแสดงเนื้อหาของข้อความโดยใช้ Twigแม่แบบ จากนั้นเราดึงส่วนประกอบจดหมายจากคอนโทรลเลอร์getวิธีการด้วยคีย์ 'จดหมาย' สุดท้ายเราส่งข้อความโดยใช้send วิธีการและพิมพ์ไฟล์ Mail send ข้อความ.

ตอนนี้เรียกใช้หน้า http://localhost:8000/mailsample/send และผลลัพธ์จะเป็นดังนี้