تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ هاجر اسدالله پور
مینی پروژه 1: ارسال ایمیل
جامعه پی اچ پی ایجاد شده در ۰۸ فروردین ۱۳۹۹

با سلام

تابع mail در کدهای من مقدار false برمی گرداند و ایمیلی ارسال نمی‌شود. آیا از localhost ایمیلی ارسال می‌شود؟

کدهای html به صورت زیر است:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <form name="contactform" method="post" action="send-mail.php">
  <table  style=background-color:whitesmoke >
      <tr>
          <td>
          <label>متن پیام</label>
          </td>
          <td>
              <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
          </td>
      </tr>
      <tr>
          <td>
              <input type=submit name="submit">
          </td>
      </tr>
  </table>
  </form>
</body>
</html>

و کدهای php  در صفحه send-mail.php هم به صورت زیر است:

<?php
 if(isset($_POST["submit"])){
     if(!empty($_POST["comments"])){
        $to="asadollahpoor.itsu@gmail.com";
        $subject="test";
        $message=$_POST["comments"];
        $headers="From: sender's email";
       // var_dump(mail($to,$subject,$message,$headers));
         if( mail($to,$subject,$message,$headers))
        {
            echo "mail sent successfully";
        }       
        else{
            echo "email sending failed";
        }
     }else{
         echo "پیام خود را وارد کنید.";
     }
 }
?>

یک سری تنظیمات هم در php.ini  و sendmail.ini انجام دادم و پورت smtp را تغییر دادم و ...

 

سلام

لوکال هاست برای ارسال ایمیل به چه پورتی گوش میدهد؟ بله هیچ پورتی پس شما

برای ارسال ایمیل در این روش  از SMTP که مخفف عبارت Simple Mail Transfer Protocol  باید استفاده کنید.پس باید به این سرور متصل باشید.

برای تنطیمات به فایل php.ini برید و به دنبال  mail function بگردید ان را باز کنید و تغییرات زیر را اعمال کنید

 برای ارسال ایمیل با سرور‌های gmail است ==>          SMTP = smtp.gmail.com
پورتی است که برای ارسال ایمیل از SMTP سرور gmail استفاده میکنیم  ==>                smtp_port = ۵۸۷          
 ایمیل خود که برای ارسال ایمیل از ان استفاده میشود                                         ==>                             sendmail_from = my-gmail-id@gmail.com
مسیر فایل sendmail.exe رو از پوشه xampp خود اضافه کنید                                    ==>           

sendmail_path = “\”C:\xampp\sendmail\sendmail.exe\” -t

خوب تا اینجا تنظیمات php.ini را انجام دادید حالا فایل sendmail.ini باز کرده و تنظیمات زیر را انجام دهید

smtp_server=smtp.gmail.com
      smtp_port=۵۸۷
بدون تغییر                        error_logfile=error.log             
بدون تغییر                                 debug_logfile=debug.log
یوزر نیم خودتان                                auth_username=my-gmail-id@gmail.com
 پسورد ایمیل خودتان                                          auth_password=my-gmail-password
ایمیل خودتان                                   force_sender=my-gmail-id@gmail.com                 

ابراهیم محمدی ۱۴ فروردین ۱۳۹۹، ۰۷:۲۶

سلام

ممنون از پاسخگویی شما 

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

هاجر اسدالله پور ۱۴ فروردین ۱۳۹۹، ۰۸:۴۲

پیشنهاد می‌کنم سرچ کنید.

لقمان آوند ۱۴ فروردین ۱۳۹۹، ۰۹:۱۵

سلام با تشکر

سرچ کردم اما تقریبا همه یک راه حل مشخص داده اند که من انجام داده ام ولی جواب نگرفته ام.

تنها چیزی که فکر می‌کنم ممکنه مشکل ایجاد کرده باشد، سیستم عامل 64 بیتی است. چون در php.ini نوشته این تنظیمات مخصوص win32  است. 

هاجر اسدالله پور ۱۴ فروردین ۱۳۹۹، ۱۴:۵۲

ایشالله سع می‌کنم در آینده یه ویدیو در این مورد ضبط کنم و آموزشش رو براتون بذارم.

لقمان آوند ۱۵ فروردین ۱۳۹۹، ۰۸:۲۶