راکت

مشکل در ارسال ایمیل در Xampp با sendmail

6 پاسخ

سلام، خسته نباشید

من تو ارسال ایمیل در xampp با sendmail مشکل دارم؛ که دو روزی هست درگیرش هستم
سایت ها رو هم بررسی کردم، همگی به اتفاق آموزش سایت زیر رو گفتن:
https://meetanshi.com/blog/send-mail-from-localhost-xampp-using-gmail/

در انتهای پست آموزشی یه قطعه کد گذاشته که مشخص بشه ارسال ایمیل، موفقیت آمیز هست یا نه

<?php
$to_email = "receipient@gmail.com";
$subject = "Simple Email Test via PHP";
$body = "Hi,nn This is test email send by PHP Script";
$headers = "From: sender\'s email";

if (mail($to_email, $subject, $body, $headers)) {
    echo "Email successfully sent to $to_email...";
} else {
    echo "Email sending failed...";
}

حالا من کارهای گفته شده رو انجام و پس از اجرای قطعه کد بالا با خطای emaail sending failed ... مواجه میشم، که اتفاقا یکی از کاربران هم با همین خطا مواجه شده بود و نویسنده این جواب رو بهش داده:
err

حالا مشکل من اینجاست که اصلا نیمتونم اکانت در Admin.google.com بسازم که بهش دسترسی بدم ...
نمیدونم مشکل از تحریم ها هست، مشکل از من هست!
میشه از هاستی که ازش دامنه خریدم؛ از اطلاعات smtp اون برای ارسال ایمیل استفاده کنم؟
برای ارسال اییمل تو لوکال هاست ایا روش دیگه ای وجود داره؟

لطفا راهنمایی کنید
با تشکر

سید احمد
سید احمد
@tamiratsg
ثبت پرسش جدید

پاسخ‌ها

6
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

از smtp سرور خودتون استفاده کنید.

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@tamiratsg

کلا ارسال ایمیل یا از طریق توابع PHP هست
یا از طریق SMTP

اگر بخواییید SMTP بفرستید یه کتابخونه phpmailer هست نصب کنید
با اون ارسال کنید بسیار هم ساده هست

اگر بخوایید به صورت PHP ایمیل بدید که اصلا پیشنهاد نمیشه
قطعه کد زیر در اکثر جاها کاربرد داره

$headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
        $headers .= 'From: <'. setting('from_email') .'>' . "\r\n";
        $message = $theme_header . $body . $theme_footer;

        if(mail($to,$subject,$message,$headers)) {
            return true;
        } else {
            return false;
        }

شاید پاسخ شما همین‌جا باشد

سید احمد
سید احمد
@tamiratsg

تخصص: برنامه نویس

مشتکرم جناب موسوی
از smtp سرور خودم استفاده کردم، به این شکل:
تنظیمات فایل sendmail.ini:

smtp_server=mail.domain.ir
smtp_port=25
smtp_ssl=ssl
auth_username=test@domain.ir
auth_password=12415sdadsas41

و تنظیمات php.ini:

SMTP=mail.domain.ir
smtp_port=25
sendmail_path = "e:\xampp\sendmail\sendmail.exe\ -t"

تنظیمات رو به این شکل انجام دادم؛ ایمیل ارسال هم میشه ولی دریافت نمیکنم ...
به نظرتون مشکل از کجا میتونه باشه، از سمت سرور هست؟

سید احمد
سید احمد
@tamiratsg

تخصص: برنامه نویس

سلام،
@Alimotreb

من طیق گفته ی شما از phpmail استفاده کردم، تنظیمات رو هم درست انجام دادم، ولی با خطای SMTP Error: Could not authenticate مواجه میشم(هم وقتی که smtp از هاست خودم رو میدم و هم وقتی که از گوگل رو میدم)
این کدهایی هست که استفاده میکنم و خطا میگیرم:

<?php
  require_once ("phpmailer\class.phpmailer.php");
  $mail = new PHPMailer();
  $mail->IsSMTP();
  $mail->SMTPAuth = true;
  $mail->SMTPSecure = "tls";
  $mail->Host = "smtp.gmail.com";
  $mail->Port = 587;
  $mail->Username = "tamiratsg@gmail.com";
  $mail->Password = "***********";
  $mail->SetFrom('myshadi@gmail.com','shadi');
  $mail->FromName = "From";
  $mail->AddAddress("bar@hotmail.com");
  $mail->Subject = "Email Test";
  $mail->Body = "<H3>Email Sent ...............</H3>";
  $mail->IsHTML (true);
  if (!$mail->Send())
  {
    echo "Error: $mail->ErrorInfo";
  }
  else
  {
    echo "Message Sent!";
  }
?>

وقتی هم که اجرا میکنم که ارسال کنه با خطای Error: SMTP Error: Could not authenticate مشکل از کجا میتونه باشه؟
ممنون بابت وقتی که میذارید

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام و درود
@tamiratsg

اول اینکه از درست قرار دادن مسیر کتابخونه مطمئن باشید
چون من دایرکتوری که ازش دارم به این شکل هست و این فایلشو اینکلود یا require میکنم


require 'class/phpmailer/PHPMailerAutoload.php';

مورد دوم اینکه
ارسال ایمیل از SMTP هاست ، با پورت 25 هست
آیپی ، پورت ، یوزر و پس!
جیمیل هم با 25 قبول میکنه
با 443 قبول میکنه
با 578 قبول میکنه ، ولی پورت اصلی 25 هست
تغییر بدید و مجدد تست کنید

جواد
جواد
@12345mjs12345

@Alimotreb سلام خوبی t.me/seadrak این ای دی منه تو تلگرام میشه پی ام بدی کارت دارم

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام