PDA

View Full Version : سوال: درخواست راهنمای جامع ارسال و دریافت ایمیل با php



Mohammad-tashi
جمعه 15 آبان 1394, 20:38 عصر
باسلام و تقدیم احترام
بنده در رابطه با ارسال ایمیل و دریافت آن خیلی سرچ کردم
اما جایی کلاس آماده معرفی نشده ... یا اگرم شده داکیومنت استفادش نیست
من طبق تحقیقی که کردم از کلاس phpmailer برای ارسال و از imap برای دریافت استفاده میکنن اما نمیدونم اینا چین؟ به کنترل پنل وابسطه هستند یا نه ؟(سی پنل - دایرکت ادمین و...)
مثلا نمونه کد ارسال با phpmailer



<?php
require('class.phpmailer.php');
$mail=new PHPMailer();
$mail->CharSet = 'UTF-8';

$mail->IsSMTP();
$mail->Host = 'mail.xcxc.net';

$mail->SMTPSecure = 'tls';
$mail->Port = 143;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;

$mail->Username = 'info@xcxc.net';
$mail->Password = '3321495';

$body = '<div style="font:18px Tahoma;color:#159;">
<div style="text-align:center"><img src="besm.png"></div>
<p>سلام</p>
<p>تست یک دو سه</p>
<div style="text-align:center"><img src="sky.jpg"></div>
</div>';

$mail->SetFrom('me@xcxc.ir', 'xcxc');
$mail->AddReplyTo('me@mohammadtashi.ir','no-reply');
$mail->Subject = '.: پرسش و پاسخ طراحی وب :.';

//$mail->AddEmbeddedImage('sky.jpg');

$mail->MsgHTML($body);

$mail->AddAddress('xcxcxc@gmail.com', 'xcxc');
//$mail->AddAttachment('my-note.doc');

if($mail->Send())
echo 'با موفقیت ارسال شد.';
else
echo 'برنامه موفق به ارسال ایمیل نشد.<hr>' , htmlentities($mail->ErrorInfo);

?>




همه جا همین کد رو نوشتن اما من اجرا میکنم روی هاستم هیچی ارسال نمیشه به ایمیلم
xcxc تست است و در فایل اصلی اطلاعات خودمو میزنم
برای دریافتم
http://php.net/manual/en/function.imap-open.php
این هست
اما کلی تابع داره ...
و یه سوال دیگه در این کد :



<?php
// To connect to an IMAP server running on port 143 on the local machine,
// do the following:
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");

// To connect to a POP3 server on port 110 on the local server, use:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server, add /ssl after the protocol
// specification:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");

// To connect to an SSL IMAP or POP3 server with a self-signed certificate,
// add /ssl/novalidate-cert after the protocol specification:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");

// To connect to an NNTP server on port 119 on the local server, use:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// To connect to a remote server replace "localhost" with the name or the
// IP address of the server you want to connect to.
?>

کلاس یا چیز دیگه ای پیوست نشده
چرا؟

ممنون میشم دوستان توضیحات یا کد نمونه اگه داشتن قرار بدهند
ارادتمند

mehrvarzan
شنبه 16 آبان 1394, 11:21 صبح
دنبال یه فرم تماس با ما بگرد
میتونی مشکلتو حل کنی

Mohammad-tashi
شنبه 16 آبان 1394, 17:15 عصر
دنبال یه فرم تماس با ما بگرد
میتونی مشکلتو حل کنی

منظورتون اینه دنبال سمپل کدش اونجا باشم؟
خب امکان داره توی اون ها از چیز دیگه ای استفاده شده باشه
و ضمنا فرم تماس دریات ایمیل نداره....

دوستان کسی سمپل کد نداره؟

Unique
یک شنبه 17 آبان 1394, 00:33 صبح
phpmailer ربطی به تنظیمات هاست نداره.
اول آخرین نسخه PhpMailer را از اینجا (https://github.com/PHPMailer/PHPMailer) بگیر.
بعدش حتما این دو خط را قبل از کد ارسال بگذار که متوجه بشی اگه خطایی گزارش میشه :

error_reporting(E_ALL);
ini_set('display_errors','1');

حالا اجرا کن ببین ارسال میشه یا خطا میگیری.

در ضمن php یک تابع mail (http://php.net/manual/en/function.mail.php) داره که اگه هاست درپیت نباشه باید بخوبی کار کنه و نیاز به phpmailer هم نیست.

در مورد imap هم باید extension ش روی php فعال بشه. میتونی روی هاستت ()phpinfo بگیری ببینی imap نصب شده یا نه ، البته از pop3 هم میتوین استفاده کنی که phpmailer خودش براش یک کلاس داره و لازم نیست هاستت داشته باشه.

۳ تا نکته که فکر کنم خیلی از بچه های جدید انجمن کلا در موردش دقت نمیکنن :

- قبل از هر چیز باید یاد بگیرین چطوری کد را debug کنید.
- بعدش باید بتونین توی سایت php.net دنبال توابع و کلاس ها و مثال ها باشین
- بتونین با جستجو توی انجمن مطالب مرتبط با پیدا کنین. من خودم در مورد همین phpmailer فکر کنم ۳ یا ۴ تا پست دارم. از معمولی بگیر تا ارسال از gmail

اما مهمترین چیزی که مخصوصا تازه کار ها اصلا بلد نیستن debug کردنه.