سلام
من پروژه را روی هاست اشتراکی 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 سلام
بله فعاله و باهاش ایمیل هم میتونم بزنم به صورت دستی
@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 [
//
];
}
}
سلام این ارور رو من هم دارم زمانی که رو هاست میخوام ثبت نام انجام بدم یا پسورد ریست انجام بدم
شما تونستید این ارور رو حل کنید ؟
اگه تونستید ممنون میشم راهنمایی کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟