چطور در php با smtp ایمیل ارسال کنیم؟

arman_krm

New Member
سلام دوستان
دوستان و اساتید خواهش می کنم به سوالات من پاسخ بدید. من مدتیه دنبال نوشتن یه برنامه با PHP هستم که با اتصال به سرویس SMTP یه سرویس دهنده ایمیل بتونه ایمیل ارسال کنه.
دوستان من قبلا با PHPMailer کار کردم اما می خوام به صورت زیربنایی و از ابتدا نحوه کار رو یاد بگیرم و پیش برم. در کل اینو بگم که می خوام برنامه ساده ای خودم بنویسم. خیلی تو اینترنت گشتم اما غیرا از PHPMailer نتونستم چیزی رو پیدا کنم در ضمن کدی هم توی یه کتاب به دست آوردم اما روی هاستی که داشتم و امتحان کردم کار نکرد. به خدا چندین روز دنبالشم و کلافه شدم!
سوالای من:
1- مشکل کد زیر که همون کد کتاب هست چیه؟
2- برای اتصال به جیمیل و یا یاهو جستجو کردم و یه جایی گفتن باید از API های این سایت ها استفاده کنم، می تونید به من یه منبع درست و درمون نشون بدید.
3- من دنبال اصول اولیه و ساده کار با SMTP توسط PHP هستم، خواهش دارم یه منبع نشونم بدید.


کد کتاب:
[PHPS]
<?php
$fp = fsockopen("host or IP", 25, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {

$to='[email protected]';
$from='[email protected]';
$subject='Subject for mail TEST!';
$data='This is a test for sending mail! END';
$user='username';
$pass='password';
/*********************************/
$out = "user ".$user."\r\n";
echo "\n<b>Send :</b>".$out;
fwrite($fp, $out);
echo "\n<b>Received :</b>".fgets($fp, 128);

$out = "pass ".$pass."\r\n";
echo "\n<b>Send :</b>".$out;
fwrite($fp, $out);
echo "\n<b>Received :</b>".fgets($fp, 128);
/**********************************/
$out = "helo mysite.com \r\n";
fwrite($fp, $out);
echo "\n".fgets($fp, 128);
flush();
$out = "mail from:<$from>\r\n";
fwrite($fp, $out);
echo fgets($fp, 128);

$out = "rcpt to:<$to>\r\n";
fwrite($fp, $out);
echo fgets($fp, 128);

$out = "data\r\n";
fwrite($fp, $out);
echo fgets($fp, 128);

$out =date("jS of F Y, \a\\t g.i a", time());
$out .= "\r\nFrom: <$from>\r\n";
$out .= "Subject: $subject\r\n";
$out .="To: $to\r\n\r\n";
$out .="$data\r\n.\r\n";
fwrite($fp, $out);
echo fgets($fp, 128);

$out = "quit\r\n";
fwrite($fp, $out);
echo fgets($fp, 128);
fclose($fp);
}
?>
[/PHPS]

با تشکر از همه شما
 

جدیدترین ارسال ها

بالا