برگزیده های پرشین تولز

سوال » ارسال ایمیل با SMTP

digitak

Registered User
تاریخ عضویت
25 ژوئن 2007
نوشته‌ها
133
لایک‌ها
7
سلام !

اگه ممکنه یه کلاس برای ارسال ایمیل با SMTP معرفی کنید که کار باهاش راحت باشه

اگه با خود PHP هم میشه تحت SMTP میل ارسال کرد یه تیکه کد کوچیک بم بدید !


ممنون
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285

omid4u

Registered User
تاریخ عضویت
10 جولای 2004
نوشته‌ها
124
لایک‌ها
1
محل سکونت
نصف جهان
با کمک کلاس phpmailer با استفاده از smtp

PHP:
<?php
require("class.phpmailer.php");
$mailer = new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'ssl://smtp.gmail.com:465';
$mailer->SMTPAuth = TRUE;
$mailer->Username = '######@gmail.com'; // Change this to your gmail adress
$mailer->Password = '#######'; // Change this to your gmail password
$mailer->From = '#####@?????.com'; // This HAVE TO be your gmail adress
$mailer->FromName = 'fake'; // This is the from name in the email, you can put anything you like here
$mailer->Body = 'This is the main body of the email';
$mailer->Subject = 'This is the subject of the email';
$mailer->AddAddress('######@?????.com'); // This is where you put the email adress of the person you want to mail
if(!$mailer->Send())
{
echo "Message was not sent<br/ >";
echo "Mailer Error: " . $mailer->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>
 

tecnocomputer2

کاربر تازه وارد
تاریخ عضویت
31 دسامبر 2010
نوشته‌ها
35
لایک‌ها
5
PHP:
require("class.phpmailer.php");

فایل class.phpmailer.php رو از کجا تهیه کنم؟
 

sha19425

Registered User
تاریخ عضویت
10 ژانویه 2006
نوشته‌ها
281
لایک‌ها
21
PHP:
require("class.phpmailer.php");

فایل class.phpmailer.php رو از کجا تهیه کنم؟


برات اتچ كردم . از زيپ خارج كن . دقت كن هر 3 تاش با هم باشه . بدون دايركتوري language كار نميكنه !


حالا فايل جديدت رو كه در پايين فرمش رو ميبيني به اسم دلخواهت save و در همون پوشه php mailer كن و وقتي توي مرورگر اسم فايلت رو مينويسي ايميل فرستاده ميشه !

ميتوني تو لوكال هاسيت هم بفرستي . دقت كت ssl رو تو فايل php ، روشن باشه .

براي جيميل

کد:
<?php

// example on using PHPMailer with GMAIL

include("class.phpmailer.php");

$mail=new PHPMailer();

$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port

$mail->Username = "myuser"; // GMAIL username
$mail->Password = "mypassword"; // GMAIL password

$mail->From = "[email protected]";
$mail->FromName = "my name";
$mail->Subject = "subject";

$mail->Body = "my body"; //HTML Body

$mail->AltBody = "This is the body when user views in plain text format"; //Text Body

$mail->WordWrap = 50; // set word wrap
$mail->AddReplyTo("[email protected]","my name");


$mail->AddCC("ايميل طرف مقابل","esme girande");


$mail->AddAttachment("آدرس فايل اتچ ", ""); // attachment

$mail->IsHTML(true); // send as HTML


if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}



?>



براي ياهو
کد:
<?php

// example on using PHPMailer with yahoo

include("class.phpmailer.php");

$mail=new PHPMailer();

$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.mail.yahoo.com"; // sets yahoo as the SMTP server
$mail->Port = 465; // set the SMTP port

$mail->Username = "myuser"; // yahoo username
$mail->Password = "mypassword"; // yahoo password

$mail->From = "[email protected]";
$mail->FromName = "my name";
$mail->Subject = "subject";

$mail->Body = "my body"; //HTML Body

$mail->AltBody = "This is the body when user views in plain text format"; //Text Body

$mail->WordWrap = 50; // set word wrap
$mail->AddReplyTo("[email protected]","my name");


$mail->AddCC("ايميل طرف مقابل","esme girande");


$mail->AddAttachment("آدرس فايل اتچ ", ""); // attachment

$mail->IsHTML(true); // send as HTML


if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}



?>

راستي اگه نميخواي فايلي اتچ كني 2 تا // بذار اول جمله$mail->AddAttachment
 

فایل های ضمیمه

  • php mailer.zip
    33.4 KB · نمایش ها: 41
Last edited:

sha19425

Registered User
تاریخ عضویت
10 ژانویه 2006
نوشته‌ها
281
لایک‌ها
21
میشه همزمان یه ایمیل رو واسه چندید نفر بفرستیم؟ بین هر ایمیل کاما بزاریم؟

ميشه ولي به اين روش :

کد:
$mail->[B]AddBCC[/B]("ايميل 1","");
$mail->[B]AddBCC[/B]("ايميل  2","");
...

بجاي addCC از addBCC استفاده كن .

اين دستور هم اول صفحت بذار چون ارسالش زمان بره
ini_set('max_execution_time',600);


ايميل هاي مفيد بزن !:happy:
 

tecnocomputer2

کاربر تازه وارد
تاریخ عضویت
31 دسامبر 2010
نوشته‌ها
35
لایک‌ها
5
یعنی به جای
PHP:
$mail->AddCC("ايميل طرف مقابل","esme girande");

بزنم؟
PHP:
$mail->AddBCC("ايميل 1","");
$mail->AddBCC("ايميل  2","");
...

این کد:
PHP:
ini_set('max_execution_time',600);

هم قبل از
PHP:
include("class.phpmailer.php");

بزارم موردی نداره؟:wacko:
قصد ایمیل تبلیغاتی، اسپم ندارم...:)

و یه سوال دیگه، منظوز از 600 تو اون کد صبر چیه؟:d چقدر صبر میکنه و بعدی رو ارسال میکنه؟ به نظر شما اینقدر کافیه؟
 

sha19425

Registered User
تاریخ عضویت
10 ژانویه 2006
نوشته‌ها
281
لایک‌ها
21
یعنی به جای
PHP:
$mail->AddCC("ايميل طرف مقابل","esme girande");

بزنم؟
PHP:
$mail->AddBCC("ايميل 1","");
$mail->AddBCC("ايميل  2","");
...

این کد:
PHP:
ini_set('max_execution_time',600);

هم قبل از
PHP:
include("class.phpmailer.php");

بزارم موردی نداره؟:wacko:
قصد ایمیل تبلیغاتی، اسپم ندارم...:)

و یه سوال دیگه، منظوز از 600 تو اون کد صبر چیه؟:d چقدر صبر میکنه و بعدی رو ارسال میکنه؟ به نظر شما اینقدر کافیه؟

دوست من 600 يعني 600 ثانيه . چون اگه مثلآ برا 100 نفر بخواي بفرستي تو 30 ثانيه جواب نميده .
 

tecnocomputer2

کاربر تازه وارد
تاریخ عضویت
31 دسامبر 2010
نوشته‌ها
35
لایک‌ها
5
منظورتون اینه که هر کودوم ایمیل رو که فرستاد 600 ثانیه صبر میکنه؟!
 

tecnocomputer2

کاربر تازه وارد
تاریخ عضویت
31 دسامبر 2010
نوشته‌ها
35
لایک‌ها
5
نه ، ماكزيمم زمان اجراي اسكريپته كه باعث ميشه 100 تا ايميل رو بفرسته !

خیلی معضرت میخام. منظورتون رو نفمیدم.

- چند بار میتونم $mail->AddBCC بزنم؟ من هربار که اسکریپت اجرا میشه نیاز دارم حداکثر 1000 ایمیل ارسال بشه
 
بالا