اذهب إلى المحتوى

السؤال

نشر

أواجه مشكلة في إرسال رسائل البريد الإلكتروني من تطبيق Laravel الخاص بي أثناء التطوير باستخدام Mailtrap، أرى الرسائل في صندوق Mailtrap الوارد، لكنها لا تصل إلى صندوق البريد الحقيقي الذي أرسلها إليه، مثل بريدي الشخصي.

هل السبب في ذلك هو أنني استخدم خيار اختبار البريد الإلكتروني في Mailtrap، ولا يمكنه إرسال رسائل إلى صناديق بريد حقيقية؟

وتلك هي متغيرات البيئة:

MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=mailtrapusername
MAIL_PASSWORD=mailtrappassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="myemail@gmail.com"
MAIL_FROM_NAME="${APP_NAME}"

والإعدادات هي:

 'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'url' => env('MAIL_URL'),
            'host' => env('MAIL_HOST', 'sandbox.smtp.mailtrap.io'),
            'port' => env('MAIL_PORT', 587),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME', 'mailtrapusername'),
            'password' => env('MAIL_PASSWORD', 'mailtrappassword'),
            'timeout' => null,
            'local_domain' => env('MAIL_EHLO_DOMAIN'),

            'auth_mode' => 'plain',
            'verify_peer' => false,
        ],

فما هي الطريقة لكي يصل البريد إلى إيميل حقيقي؟

Recommended Posts

  • 0
نشر

هذا بسبب ان mailtrap تستخدم في ال testing و التدريبات فقط ولكن اذا كنت تريد ان ترسل الايميل عليك بالتالي :- 
أولا :- تسجيل الدخول ل SMTP Service 
ثانيا تعديل ملف ال .env 
 

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-gmail-email@gmail.com
MAIL_PASSWORD=your-gmail-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your-email@example.com
MAIL_FROM_NAME="${APP_NAME}"

مع اذافة بياناتك انت 
ثالثا تحديث ال Mail Configuration 
 

'driver' => env('MAIL_MAILER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.example.com'),
'port' => env('MAIL_PORT', 587),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),

رابعا انشاء class ليمثل الايميل التي سترسله من خلال الامر التالي 

php artisan make:mail YourMailClass

خامسا :- افتح هذا ال class و قم بتهيئة دالة ال build لوضع موضوع البريد و باقي تفاصيل الايميل
 

public function build()
{
    return $this->subject('Your Email Subject')
                ->view('emails.your_template');
}

سادسا ارسال البريد الالكتروني 
 

use Illuminate\Support\Facades\Mail;
use App\Mail\YourMailClass;

// ...

Mail::to('friend@example.com')->send(new YourMailClass());

واخيرا افحص ال laravel logs للبحث عن اي اخطأ او ان الايميل لم يتم ارساله 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...