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

رسائل البريد الإلكتروني يتم إرسالها من قبل Mailtrap ولكن لا يتم تسليمها لبريد حقيقي في لارافل

Abdelrahman Mostafa10

السؤال

أواجه مشكلة في إرسال رسائل البريد الإلكتروني من تطبيق 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...