Nhảy tới nội dung
Phiên bản: 7.3.0

Mail

Gửi email không cần phải phức tạp. SkillDo cung cấp API email đơn giản, rõ ràng được hỗ trợ bởi thành phần Symfony Mailer phổ biến. SkillDo và Symfony Mailer cung cấp trình điều khiển để gửi email qua SMTP, Mailgun và sendmail, cho phép bạn nhanh chóng bắt đầu gửi thư qua dịch vụ cục bộ hoặc dựa trên đám mây mà bạn chọn.

Send Mail

Cách gửi email

Bạn có thể sử dụng static method

SkillDo\Mail::to($to)
->subject($subject)
->replyTo($mail, $name)
->body($body, $bodyValue)
->send();

Hoặc class Mail

$email = new SkillDo\Mail();
$email->to($to)
->subject($subject)
->replyTo($mail, $name)
->body($body, $bodyValue)
->send();
Column NameTypeDescription
$tostringEmail sẽ nhận được mail
$subjectstringTiêu đề email
$mailstringEmail sẽ nhận được khi $to trả lời lại email
$namestringTên hiển thị cho mail reply
$bodystringĐường dẫn đến file layout email hoặc mã html
$bodyValuearrayDanh sách các giá trị thay đổi cho $body

Sử dụng email layout ($body)

Các kiểu layout bạn có thể sử dụng

Column NameTypeDescriptionParameters
filestringĐường dẫn đến file layout (Ex: 'path/layout.php')Các biến được viết bằng cấu trúc {{name}}
file bladestringĐường dẫn đến file layout sử dụng blade (Ex: 'path/layout.blade')Các biến được viết bằng cấu trúc params của blade

Ví dụ thực tế

Tạo file layout
<div>
<h2>ĐẶT HÀNG THÀNH CÔNG</h2>
<p><b>{{$fullName}}</b>, Cám ơn bạn đã đặt hàng!</p>
<p>{{$code}}</p>
<p><strong>Ngày: {{$code}}</strong></p>
</div>
Gửi mail
$order = Order::get(1);

SkillDo\Mail::to('kythuat@sikido.vn')
->subject('Email thông báo gia hạn dịch vụ')
->replyTo('hotro@sikido.vn', 'Hỗ trợ gia hạn')
->body('email/layout-extend.blade', [
'fullName' => $order->billing_fullname,
'code' => $order->code,
'date' => date('d/m/Y')
])
->send();

EmailHandler

warning

Phiên bản EmailHandler là phiên bản củ và dừng hỗ trợ từ cms version 6.4.2 và có thể bị xóa trong tương lai

EmailHandler::send(string $template, string $subject, [
'name' => string $name,
'from' => string $email,
'address' => string $reciever_email,
'templateValue' => array $templateValue,
]);