سلام
من پروژه را روی هاست اشتراکی cpanel گذاشتم ولی ایمیلها را که میخواد ارسال کنه خطای Mailer [SMTP] is not defined.
را میده
تنظیمات env
MAIL_MAILER=smtp
MAIL_HOST=mail.domainname.ir
MAIL_PORT=587
MAIL_USERNAME=no-replay@domainname.ir
MAIL_PASSWORD=xxxxxxxxx
MAIL_ENCRYPTION=''

شاید پاسخ شما همینجا باشد
@mohaligateway
سلام فایل mail.php به اینصورته
اگر تغییری میخواد لطفا برام بنویسین
سپاس
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Mailer
|--------------------------------------------------------------------------
|
| This option controls the default mailer that is used to send any email
| messages sent by your application. Alternative mailers may be setup
| and used as needed; however, this mailer will be used by default.
|
*/
'default' => env('MAIL_MAILER', 'smtp'),
/*
|--------------------------------------------------------------------------
| Mailer Configurations
|--------------------------------------------------------------------------
|
| Here you may configure all of the mailers used by your application plus
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
| Laravel supports a variety of mail "transport" drivers to be used while
| sending an e-mail. You will specify which one you are using for your
| mailers below. You are free to add additional mailers as required.
|
| Supported: "smtp", "sendmail", "mailgun", "ses",
| "postmark", "log", "array"
|
*/
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
],
'postmark' => [
'transport' => 'postmark',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
],
/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all e-mails sent by your application to be sent from
| the same address. Here, you may specify a name and address that is
| used globally for all e-mails that are sent by your application.
|
*/
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'subsecurity'),
],
/*
|--------------------------------------------------------------------------
| Markdown Mail Settings
|--------------------------------------------------------------------------
|
| If you are using Markdown based email rendering, you may configure your
| theme and component paths here, allowing you to customize the design
| of the emails. Or, you may simply stick with the Laravel defaults!
|
*/
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
@ali.bayat سلام
بله فعاله و باهاش ایمیل هم میتونم بزنم به صورت دستی
روی تنظیمات mail تغییرات انجام دادید ؟ آرایه mailers رو کجا فراخوانی می کنید ؟
@yk5742g
@mohaligateway درود دوست عزیز
مسیر App/Mailers/AppMailer.php
<?php
namespace App\Mailers;
use App\Ticket;
use Illuminate\Contracts\Mail\Mailer;
class AppMailer
{
protected $mailer;
protected $fromAddress = 'support@supportticket.dev';
protected $fromName = 'Support Ticket';
protected $to;
protected $subject;
protected $view;
protected $data = [];
public function __construct(Mailer $mailer)
{
$this->mailer = $mailer;
}
public function sendTicketInformation($user, Ticket $ticket)
{
$this->to = $user->email;
$this->subject = "[Ticket ID: $ticket->ticket_id] $ticket->title";
$this->view = 'mails.ticket_info';
$this->data = compact('user', 'ticket');
return $this->deliver();
}
public function sendTicketComments($ticketOwner, $user, Ticket $ticket, $comment)
{
$this->to = $ticketOwner->email;
$this->subject = "RE: $ticket->title (Ticket ID: $ticket->ticket_id)";
$this->view = 'mails.ticket_comment';
$this->data = compact('ticketOwner', 'user', 'ticket', 'comment');
return $this->deliver();
}
public function deliver()
{
$this->mailer->send($this->view, $this->data, function ($message) {
$message->from($this->fromAddress, $this->fromName)
->to($this->to)->subject($this->subject);
});
}
}
یکسری از ارسال ها هم به اینصورت میزنم که به مسیر notifications/notifFile.php ارسال میشه . اسم notiFile منظورم اسم کلاس ارسال ایمل هامه که به صورت ShouldQueue ارسال میکنم
نمونه را میزارم
$user->notify(new editProfileNotification());
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Request;
class editProfileNotification extends Notification implements ShouldQueue
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->subject('پروفایل ویرایش شد')
->markdown('mails.edit_profile');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
از اونجائی که گفتید به صورتی دستی از لاراول می تونید ایمیل ها رو ارسال کنید. در کد های بالا مشکلی وجود نداره. احتمال زیاد مشکل از صف ارسال ها می تونه باشه. صف job ها رو چک کنید ببینید ارسال میشه.
@yk5742g
سلام این ارور رو من هم دارم زمانی که رو هاست میخوام ثبت نام انجام بدم یا پسورد ریست انجام بدم
شما تونستید این ارور رو حل کنید ؟
اگه تونستید ممنون میشم راهنمایی کنید