رفتن به مطلب

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


پست های پیشنهاد شده

سلام عرض ادب و خسته نباشید در انجمن های مختلفی این مطلب رو سرچ کردم اما متاسفانه به نتیجه درستی نرسیدم در این انجمن هم یا به علت پیدا نکردن کیورد خاص یا نبودن مطلب به نتیجه نرسیدم پس بر این شدم تا دست به دامن بشم 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.

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

لینک به ارسال
  • 1 سال بعد...

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

clicksite.ir/article.php?id=74

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...