require'D:\\xamp\\htdocs\\7auth3\\7auth\\vendor\\autoload.php';
$phpmailer = new PHPMailer\\PHPMailer\\PHPMailer();
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.mailtrap.io';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 2525;
$phpmailer->Username = '8bcc2ebcadba88';
$phpmailer->Password = '53213e55e5d3d5';
$phpmailer->setFrom('exaple@gmail.com', '7auth project');
$phpmailer->addAddress('recipient@example.com');
$phpmailer->Subject = 'Subject of Email';
$phpmailer->isHTML(true);
$body = '
This is the HTML message body
';$phpmailer->Body = $body;
$phpmailer->SMTPDebug = PHPMailer\\PHPMailer\\SMTP::DEBUG_SERVER;
if (!$phpmailer->send()) {
echo'Mailer Error: ' . $phpmailer->ErrorInfo;
} else {
echo'Message sent!';
}
ابراهیم زنده بودی۲۵ مرداد ۱۴۰۲، ۰۵:۲۷
سلام،
کدتون رو تست کردم، مشکلی نداره و یک مسیج هم ارسال کردم که میتونید در Inbox ببینیدش.
مشکل عدم اتصال به سرورهای smtp است.
شکن ظاهراً پورتهای ایمیل رو بسته چون به هیچ پورتی متصل نشد. پس بدون شکن تست کنید. (من بدون فیلتر شکن ارسال کردم)
برای اینکه اتصال رو چک کنید با دستور زیر پورتهای 25, 2525, 465, 587 رو تست کنید:
telnet smtp.mailtrap.io 2525
باید پیام 220 برگرده مانند چنین چیزی:
220 smtp.mailtrap.io ESMTP ready
نکته:در مورد require که بصورت full path (absolute path) در ابتدای کد انجام دادید، اول اینکه میتونستید بصورت relative مقداردهی کنید و نسبت به فایلهای کناری مسیردهی میکردید، اما اگر هم خواستید بصورت کامل مقداردهی کنید بهتر است نکته ی Portability یا قابل حمل بودن رو در نظر داشته باشید. این نوع آدرس دهی فقط مخصوص ویندوز بوده و همچنین اگر پروژه جابجا شود هم مسیرش بهم میخورد زیرا که بصورت مطلق حتی درایو و پوشهها هم نمیتوانند تغییری داشته باشند، بنابراین این روش سلوشن بهتری خواهد بود: