2015-09-21 9 views
29

में संदेश के साथ मैं ईमेल भेजने के लिए लैरवेल मेल फ़ंक्शन का उपयोग कर रहा हूं। निम्नलिखित मेरी app/config/mail.php फ़ाइल सेटिंग्स है।अपेक्षित प्रतिक्रिया कोड 220 लेकिन कोड "" मिला, "लैरवेल

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

नियंत्रक मेल विधि

//Send Mail  
Mail::send('sendMail', array('key' => 'value'), function($message) 
{ 
    $message->to('[email protected]', 'Sender Name')->subject('Welcome!'); 
}); 

जब मैं कोड यह मुझे त्रुटि संदेश निम्न देता चलाएँ:

Swift_TransportException

अपेक्षित प्रतिक्रिया कोड 220 लेकिन कोड मिला है "", संदेश के साथ "

मैंने एक SendMail.php फ़ाइल बनाई है जिसमें कुछ डेटा शामिल है।

मैं इस त्रुटि संदेश को कैसे हल करूं?

+0

क्या आपने जीमेल खाते के लिए दो चरण सत्यापन सक्षम किए हैं? – Sid

उत्तर

50

यह समस्या आमतौर पर तब हो सकती है जब आप gmail खाते के लिए दो चरण सत्यापन सक्षम नहीं करते हैं जिसका उपयोग आप email भेजने के लिए कर रहे हैं। तो सबसे पहले, two step verification सक्षम करें, आप दो चरण सत्यापन सक्षम करने के लिए बहुत सारे संसाधन पा सकते हैं। इसे सक्षम करने के बाद, आपको app password बनाना होगा। और अपने .env फ़ाइल में app password का उपयोग करें। जब आप इसके साथ काम करते हैं, तो आपकी .env फ़ाइल कुछ दिखाई देगी।

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
MAIL_USERNAME=<<your email address>> 
MAIL_PASSWORD=<<app password>> 
MAIL_ENCRYPTION=tls 

और अपने mail.php

<?php 

return [ 
    'driver' => env('MAIL_DRIVER', 'smtp'), 
    'host' => env('MAIL_HOST', 'smtp.gmail.com'), 
    'port' => env('MAIL_PORT', 587), 
    'from' => ['address' => '<<your email>>', 'name' => '<<any name>>'], 
    'encryption' => env('MAIL_ENCRYPTION', 'tls'), 
    'username' => env('MAIL_USERNAME'), 
    'password' => env('MAIL_PASSWORD'), 
    'sendmail' => '/usr/sbin/sendmail -bs', 
    'pretend' => false, 

]; 

ऐसा करते समय, चलाने php artisan config:cache और php artisan config:clear के बाद, फिर जांच, ईमेल काम करना चाहिए।

+0

नहीं! –

+0

काम नहीं करता है मैंने हर जगह देखा है और समाधान नहीं मिला, लेकिन आपने पूरी तरह से अपना जीवन बचाया !! बहुत बहुत धन्यवाद!!। मैं आपका जवाब दे रहा हूँ! – HenryDev

+0

खुशी हुई यह मदद की :) – Sid

8

मेरे मामले में मैं यह काम करने के लिए

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
MAIL_USERNAME=<<your email address>> 
MAIL_PASSWORD=<<app password>> 

MAIL_ENCRYPTION= ssl <<<<<<<------------------------- (FOCUS THIS) 

स्थापित करने के लिए था .. उपयोगी हो सकता है। शेष कोड जैसा था @ सिड ने कहा। फर्क सिर्फ इतना है

MAIL_ENCRYPTION= ssl 

पर है और मुझे नहीं लगता कि संपादन दोनों पर्यावरण फ़ाइल और एप्लिकेशन/config/mail.php अनावश्यक है। बस एक विधि का प्रयोग करें।

संबंधित मुद्दे