moslem_f

ارسال ایمیل با کلاس not execute: /usr/sbin/sendmail phpmailer

8 پست در این موضوع قرار دارد

سلام عرض ادب و خسته نباشید در انجمن های مختلفی این مطلب رو سرچ کردم اما متاسفانه به نتیجه درستی نرسیدم در این انجمن هم یا به علت پیدا نکردن کیورد خاص یا نبودن مطلب به نتیجه نرسیدم پس بر این شدم تا دست به دامن بشم 109.gif میرم سر اصل مطلب با تشکر ؛

من از کلاس phpmailer برای ارسال ایمیل استفاده کردم که این کلاس رو به پیوست تقدیم حضورتان میکنم تا بیشتر راهنمایی کنید ؛

با استفاده از این کلاس function درست کردم با نام sendEmail این فانکشن کارش ارسال ایمیل هست که در ادامه کامل function رو براتون میزارم که به شرح زیر هست ؛


/// ارسال ایمیل



function sendEmail($title,$useremail,$body)
{
require_once('class.phpmailer/class.phpmailer.php');

$mail = new PHPMailer(); // defaults to using php "mail()"

$mail->IsSendmail(); // telling the class to use SendMail transport

//$body = file_get_contents('contents.html');

$mail->SetFrom('info@p30pdf.ir', 'First Last');
$address = "info.p30pdf@yahoo.com";
$mail->AddAddress($useremail, "John Doe");
$mail->AddAddress($address, "John Doe");

$mail->Subject = "$title";

$mail->AltBody = "این ایمیل ممکن است حاوی تصاویر باشد لذا ایمیل خود را به صورت اچ تی ام ال مشاهده نمایید"; // optional, comment out and test

$mail->MsgHTML($body);

$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
return false;

} else {
return true;

}
}

حالا این function رو include کردم به صفحه contactus.php خودم که همون فرم تماس با ما هست .

و حال کد پی اچ پی contactus.php به شرح زیر هست ؛


if (isset($_POST['submit']))
{
if(isset($_POST['title']) AND !empty($_POST['title']) AND isset($_POST['body']) AND !empty($_POST['body']))
{
$title = $_POST['title'];
$useremail = $_POST['email'];
$body = $_POST['body'];
$result = sendEmail($title,$email,$body);
if($result)
{
echo "پیام شما با موفقیت ارسال شد";
}
else
{
echo "خطایی در ارسال ایمیل رخ داده است لطفا موارد را با دقت وارد کنید";
}
}
}

و کد HTML مربوط به فرمم هم به شرح زیر هست ؛


<form method="post">
عنوان : <input name="title" type="text" /><br />
ایمیل شما : <input name="email" type="text" /><br />
متن پیام شما : <textarea name="body" cols="40" rows="10"></textarea>
<input name="submit" type="submit" value="ارسال" />
</form>

و حال این که هنگامی که از صفحه تماس با ما عنوان رو وارد می کنم ، ایمیلمو وارد می کنم و متن پیام رو وارد کرده و ارسال رو میزنم function من false میشه و پیغام خطایی در ارسال ایمیل رخ داده است لطفا موارد را با دقت وارد کنید echo میشه که در شروط صفحه contactus.php که در بالا کدشو نشونتون دادم می بینید و بعد از نمایش پیام ، پیامی مبنی بر Invalid address: Could not execute: /usr/sbin/sendmail میده و ایمیل ارسال نمیشه و همه تنظیمات در تابع sendEmail مربوط به کلاس phpmailer هم که قابل مشاهده شما هست که در اول متن گذاشتم در ضمن در صورت نیاز برای این که بدونید امکان ارسال ایمیل در هاست سایت من روی سرور وجود دارد یا نه اگر نیاز هست بگید تا phpinfo رو پیام خصوصی کنم یا این که اگر میدونید فانکشن خاصی باید باز باشه بگید تا من ببینم و به شما بگم . خواهش می کنم در صورت امکان اگر امکان کمک هست دریغ نکنید با تشکر.

ارادتمند : مسلم فلاح نیت

php mailer.zip

به اشتراک گذاری این پست


لینک به پست

مطمئنید آدرس دهی شما درست است ؟ رو phpinfo حتما تست کنید .

این خط رو کامنت کنید

$mail->IsSendmail(); // telling the class to use SendMail transport

ببینید درست میشه ؟

به اشتراک گذاری این پست


لینک به پست

سلام خسته نباشید داداش روی phpinfo چیو باید تست کنم اگر چیز خاصی ازش مد نظرتون هست بگید تا بهتون بگم با تشکر.

داداش وقتی خط $mail->IsSendmail(); // telling the class to use SendMail transport رو کامنت کردم پیام رو ارسال کردم نوشت پیام شما با موفقیت ارسال شد ولی جلوش دوباره نوشت

Invalid address: و دیگه not execute: /usr/sbin/sendmail رو ننوشت و چون برای تست به خودم ایمیل زده بودم ایمیل رسید ولی عنوان رو به شکل زیر نوشته بود در ایمیلم

مسلم �لاح نیت

ممنون میشم اگر مشکل رومیدونید بگید با تشکر

به اشتراک گذاری این پست


لینک به پست

خب البته خودم با مقداری سرچ توگوگل به انگلیسی $mail->CharSet="UTF-8"; این سطر رو بعد از $mail->MsgHTML($body); قرار دادم در مورد خطای invalid adress نمیدونم کاملا رفعا شده یا نه ولی خب

چون می خواستم یک کپی از ایمیلی که داره ارسال میشه یعنی پیامی که کاربر ارسال می کنه از صفحه تماس با ما یک کپی هم به ایمیل خودش بره واسه همین به شکل زیر قسمت آدرس ایمیل رو آدرس دهی کردم


$mail->SetFrom('info@p30pdf.ir', 'First Last');
$address = "info.p30pdf@yahoo.com";
$mail->AddAddress($useremail, "John Doe");
$mail->AddAddress($address, "John Doe");

و حالا نمیدونم این مشکل invalid adress مربوط به این کد ها می باشد یا خیر البته هنگامی که یکی از mail->Address ها رو کامنت کردم مشکل invalid address حل شد اما خب چه طوری یک کپی از ایمیل برای طرف ارسال بشه و همچنین خودم

در ضمن


$mail->AddAddress($emladd);
$mail->AddAddress("mytest@gmail.com");
$mail->AddBCC('mytest2@mydomain.org', 'firstadd');

این لینک رو مشاهدهکنید مثل صفحه ارسال ایمیل خود یاهو و یا جیمیل و غیره برای ارسال ایمیل به غیر یا همون دیگران از mail->AddBCC استفاده کرده پس یعنی منم باید این طوری برای ارسال کپی ایمیل به اون کاربری که متن رو ارسال کرده استفاه کنم اگر نتیجه رو متوجه شدین بگین با تشکر

در مورد اون سطری که گفتین کامنت کنم هم اگرمیشه توضیح بدین چیه و چه کاری انجام و اینکه علت کامنت کردنش چی بود با تشکر داداش

ویرایش شده در توسط moslem_f

به اشتراک گذاری این پست


لینک به پست

کارش به صورت کامنت جلوش نوشته هست

Definition: sendmail: The Sendmail program is a very widely used Mail Transport Agent (MTA). MTAs send mail from one machine to another. Sendmail is not a client program, which you use to read your email. Sendmail is a behind-the-scenes program which actually moves your email over networks or the Internet to where you want it to go. If you ever need to reconfigure Sendmail, you will also need to have the sendmail.cf package installed. If you need documentation on Sendmail, you can install the sendmail-doc package.

نه مشکل از اون نیست

به اشتراک گذاری این پست


لینک به پست

بنده یه آموزش فوق العاده در این مورد دیدم که دیدن این فیلم آموزشی برای شما هم فکر میکنم مفید باشه.در کل نحوه کار با phpmailer و تنظیمات اون رو توی آموزش توضیح داده به خوبی:لینک آموزش:

clicksite.ir/article.php?id=74

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط MahTV
      سلام دوستان و اساتید عزیز
      اگه بخوایم به صورت شرطی (کوچک بودن صفحه نمایش ) تو موبایل یک باکس رو (مثل باکس دانلود) به کاربر در حالت چرخش صفحه نشون بدیم 
      و به کاربر بگیم که برا دیدن لینک ها باید گوشی موبایلت رو بچرخونی باید چیکار کنیم ؟
       
      من این کد رو از سایتی برداشتم ولی نمیدونم چطور باید ازش استفاده کنم 
      <div class="alerta"><b class="icon-screen-rotation"></b><p style="text-align: center;"><span style="font-family: tahoma,arial,helvetica,sans-serif;">برای دیدن لینکهای دانلود ، موبایل خود را بچرخانید . دقت کنید گزینه اسکرین روتیشن یا چرخش صفحه در دستگاه شما روشن باشد </span></p></div>  
       
       
       
       
    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟
    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟
    • توسط armakcell
      سلام ، بنده یک مشکل خیلی بزرگ دارم اگر به بنده کمک کنید واقعا مدیون شما میشم
      بنده افزونه سئو را در وردپرس نصب کرده ام و اما هویت گوگل وقتی کد را میفرستد و بنده میزنم میگوید نمایه وجود ندارد
      فایلی را آپلود میکنم ببینید متوجه مشکل بنده میشید
    • توسط yasmohamadi
      سلام
      دوستان یه صفحه مستقل می خوام بسازم توی وردپرس که بتونه دسترسی به دیتا بیس رو هم براش فراهم کنم . اما وقتی تمام این موارد رو که توی عکس هست رعایت می کنم قالب رو برام نمی آره که بتونم انتخابش کنم .