Laravel - Gmail SMTP ไม่ส่งอีเมลผ่าน - จากที่อยู่

ฉันกำหนดค่าเว็บไซต์ให้ส่งอีเมลผ่าน SMTP ของ Gmail เว็บไซต์ของฉันทำงานใน laravel - 4 framework ด้านล่างนี้เป็นโค้ดใน config>>mail.php

'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => null, 'name' => null),
'encryption' => 'tls',
'username' => '[email protected]',
'password' => 'xxxxxx',
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false

และนี่คือตัวอย่างโค้ด วิธีส่งอีเมลของฉัน

$from = '[email protected]';

$mail = Mail::send('mailer_template', ['any_data' => $data], function ($msg) use ($from, $from_name, $to_email, $subject, $attach) {
    $msg->from($from,$from_name);
    $msg->to($to_email);
    $msg->subject($subject);
    $msg->attach($attach);
  });

เมื่อฉันส่งจดหมาย จดหมายก็ถูกส่งไป แต่ถูกส่งมาจาก - '[email protected]' ฉันต้องการให้ส่งทางอีเมลใน $from variabble และที่อยู่ผู้ส่งจะเปลี่ยนไปตามสถานที่ต่างๆ ฉันไม่แน่ใจว่าจะกำหนดค่านี้อย่างไร ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


person Manjunath Singh    schedule 31.10.2014    source แหล่งที่มา


คำตอบ (3)


คุณเคยเยี่ยมชม URL นี้หรือยัง? ถ้าไม่ ให้ไปที่นั่นและทำตามคำแนะนำ จากนั้นลองลงชื่อเข้าใช้อีกครั้งด้วยแอปพลิเคชันของคุณบนเซิร์ฟเวอร์ที่ใช้งานจริง

https://accounts.google.com/displayunlockcaptcha

person slapyo    schedule 31.10.2014
comment
URL นี้เกี่ยวข้องอะไรกับปัญหาของฉัน สนใจที่จะอธิบายเพิ่มเติมเล็กน้อย? - person Manjunath Singh; 31.10.2014
comment
แน่นอน. Google บล็อกการเชื่อมต่อที่ไม่ได้รับอนุญาตไม่ให้สามารถส่งอีเมลได้ เมื่อคุณไปที่ URL นี้ คุณจะแจ้งให้ Google ทราบว่าคุณมีแอปที่ต้องการใช้ จากนั้นจากใบสมัครของคุณลองส่งอีเมล คุณต้องยืนยันว่าแอปนั้นเป็นของคุณ เมื่อคุณดำเนินการแล้ว คุณจะได้รับอนุญาตให้ส่งอีเมลออกไปได้ - person slapyo; 31.10.2014
comment
ฉันเข้าไปที่ URL แล้ว มันก็ยังประพฤติเหมือนเดิม ฉันคิดว่านี่เป็นสิ่งที่เกี่ยวข้องกับการกำหนดค่า laravel บางอย่างซึ่งฉันสับสน - person Manjunath Singh; 31.10.2014
comment
บัญชีเปิด IMAP ไว้หรือไม่ - person slapyo; 31.10.2014
comment
คุณได้ลองใช้ 465 สำหรับพอร์ตและ ssl สำหรับการเข้ารหัสแล้วหรือยัง? - person slapyo; 31.10.2014
comment
ใช่แล้ว ฉันพยายามแล้ว มันยังคงส่งอีเมลจากบัญชีการรับรองความถูกต้องเท่านั้น ไม่ใช่จากบัญชีที่ต้องการให้ส่ง - person Manjunath Singh; 31.10.2014
comment
ไม่แน่ใจว่าคุณสามารถส่งอีเมลเหมือนมาจากที่อยู่อื่นได้หรือไม่ ฉันมักจะตั้งให้เป็นที่อยู่ตอบกลับ - person slapyo; 31.10.2014
comment
โอเค งั้นฉันเดาว่ามันเป็นไปไม่ได้ ขอบคุณสำหรับความช่วยเหลือของคุณ! - person Manjunath Singh; 31.10.2014

ลองแก้ด้วยวิธีนี้ครับ โปรดจำไว้
รหัสผ่านนี้ไม่บังคับ
เว้นว่างไว้สำหรับฟิลด์การเข้ารหัส
ใช้ smtp-relay.gmail.com .

return array(
     'driver' => 'smtp',
     'host' => 'smtp-relay.gmail.com',
     'port' => 25, //25, 465 or 587
     'from' => array('address' => '[email protected]', 'name' => 'myname'),
     'encryption' => '',
     'username' => '[email protected]',
     'password' => '',
     'sendmail' => '/usr/sbin/sendmail -bs',
     'pretend' => false,
  );
person Koushik Samanta    schedule 03.02.2016

ดูเหมือนว่าจะเป็นไปไม่ได้เนื่องจาก SMTP(gmail) ใช้อีเมลเดียวเท่านั้น (ซึ่งมีการเพิ่ม detials ใน config/env) ในกรณีของคุณเมื่อใดก็ตามที่คุณส่งอีเมล อีเมลจะถูกส่งจาก - '[email protected]' .

person svikramjeet    schedule 17.04.2019