php

پلتفرم PHP

(PHP Platform)

ارسال ایمیل

برای استفاده از سرویس ایمیل در برنامه‌های PHP باید پس از ایجاد سرویس ایمیل، در ابتدا کتابخانه PHPMailer را با اجرای دستور زیر نصب کنید.

composer require phpmailer/phpmailer

در قدم بعد باید اطلاعات دسترسی SMTP را طبق مستندات تنظیم متغیرها در تنظیمات برنامه اضافه کنید.

MAIL_HOST=smtp.c1.liara.email
MAIL_PORT=587
MAIL_SECURITY=tls
MAIL_USER=my-app
MAIL_PASSWORD=87b9307a-dae9-410e-89a2-e77de60e4885
توجه داشته باشید که مقادیر MAIL_USER و MAIL_PASSWORD در هر سرویس ایمیل ایجاد شده متفاوت است بنابراین باید آن‌ها را با مقادیر ارائه شده در تنظیمات سرویس ایمیل‌تان جایگزین کنید.

در نهایت می‌توانید در پروژه‌ی خود مانند مثال زیر عمل کرده و با استفاده از دسترسی SMTP سرویس ایمیل لیارا و تنظیم MAIL_SECURITY=tls، به‌صورت امن اقدام به ارسال ایمیل‌های تراکنشی کنید.

توجه داشته باشید که مقدار From باید یکی از نشانی‌های اضافه شده در سرویس ایمیل باشد.
<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require_once "vendor/autoload.php";

$mail = new PHPMailer(true);

$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = getenv('MAIL_SECURITY');
$mail->Port = getenv('MAIL_PORT');
$mail->Host = getenv('MAIL_HOST');
$mail->Username = getenv('MAIL_USER');
$mail->Password = getenv('MAIL_PASSWORD');

$mail->From = "from@example.com";
$mail->FromName = "MyName";

$mail->addAddress("destination@host.name", "destination name");

$mail->isHTML(false);

$mail->Subject = "Mailing with PHPMailer";
$mail->Body = "Congratulation";
$mail->AltBody = "Congratulation";

try {
    $mail->send();
    echo "Message has been sent successfully";
} catch (Exception $e) {
    error_log("Mailer Error: $mail->ErrorInfo", 0);
}

همچنین برای کسب اطلاعات بیشتر در رابطه با نحوه‌ی استفاده از کتابخانه PHPMailer می‌توانید به مستندات این کتابخانه مراجعه کنید.

متوجه شدم، برو گام بعدی!
;