PDA

View Full Version : ایمیل ارسال نمیشه !!!!!!!



ehsan_savadkohi
پنج شنبه 13 تیر 1392, 13:19 عصر
دوستان سلام...
سایتی دارم.
موقعی که کاربر ثبت نام میکنه یک ایمیل فعال سازی باید به ایمیلش ارسال بشه. ثبت تائید میشه! ولی ارسال نمیشه ...
اینم کدشه....

$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){

// ایمیل کاربر
$to=$email;

//موضوع ایمیل فعال سازی
$subject="فعال سازی ثبت نام";

// ایمیل سایت ما
$header="from: نام سایت <info@mysite.com>";

//متن ایمیل
$message="لینک فعال سازی ";
$message.="برای فعال سازی ثبت نام روی لینک زیر کلیک کنید ";
$message.="<a href='".$url."Product/activation.php?code=$activation_code '>".$url."confirmation.php?code=$activation_code </a>";

//ارسال ایمیل
$sentmail = mail($to,$subject,$message,$header);

}
else {
// اگر ثبت در دیتابیس انجام نشد
echo "ثبت نام انجام نشد. دوباره تلاش کنید.";
}

//اگر ایمیل فعال سازی ارسال شد
if($sentmail){
$msg.="<font color='green' size='+1'>ثبت نام انجام شد و ایمیل فعال سازی برای شما ارسال شد .</font>";
}
// اگر ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد
else {

$msg.="<font color='red' size='+1'>ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد</font>";
}

colors
پنج شنبه 13 تیر 1392, 13:25 عصر
دوستان سلام...
سایتی دارم.
موقعی که کاربر ثبت نام میکنه یک ایمیل فعال سازی باید به ایمیلش ارسال بشه. ثبت تائید میشه! ولی ارسال نمیشه ...
اینم کدشه....

$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){

// ایمیل کاربر
$to=$email;

//موضوع ایمیل فعال سازی
$subject="فعال سازی ثبت نام";

// ایمیل سایت ما
$header="from: نام سایت <info@mysite.com>";

//متن ایمیل
$message="لینک فعال سازی ";
$message.="برای فعال سازی ثبت نام روی لینک زیر کلیک کنید ";
$message.="<a href='".$url."Product/activation.php?code=$activation_code '>".$url."confirmation.php?code=$activation_code </a>";

//ارسال ایمیل
$sentmail = mail($to,$subject,$message,$header);

}
else {
// اگر ثبت در دیتابیس انجام نشد
echo "ثبت نام انجام نشد. دوباره تلاش کنید.";
}

//اگر ایمیل فعال سازی ارسال شد
if($sentmail){
$msg.="<font color='green' size='+1'>ثبت نام انجام شد و ایمیل فعال سازی برای شما ارسال شد .</font>";
}
// اگر ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد
else {

$msg.="<font color='red' size='+1'>ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد</font>";
}
سلام

هیچ خطای چاپ نمیشه!
شاید ایمیل به INBOX نره, SPAM روهم چک کنید.

ehsan_savadkohi
پنج شنبه 13 تیر 1392, 13:31 عصر
نه خطا نداره. اصلا به ایمیل نمیره.

ehsan_savadkohi
پنج شنبه 13 تیر 1392, 14:43 عصر
F1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

colors
پنج شنبه 13 تیر 1392, 15:22 عصر
شاید خطای تولید میشه, دو خط کد زیررو بزار, ببین بازم هیچ خطای نمیگیری.

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

ehsan_savadkohi
پنج شنبه 13 تیر 1392, 15:28 عصر
این کد را بعد از ارسال قرار بدم؟؟؟ کجا بزارمش؟؟

colors
پنج شنبه 13 تیر 1392, 17:19 عصر
این کد را بعد از ارسال قرار بدم؟؟؟ کجا بزارمش؟؟

بزار بالای صفحه. اول کدهات

darkcms
پنج شنبه 13 تیر 1392, 19:11 عصر
کد شما اصلاح شد:


$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){

// ایمیل کاربر
$to=$email;

//موضوع ایمیل فعال سازی
$subject="فعال سازی ثبت نام";

//متن ایمیل
$message="لینک فعال سازی ";
$message.="برای فعال سازی ثبت نام روی لینک زیر کلیک کنید ";
$message.="<a href='".$url."Product/activation.php?code=$activation_code '>".$url."confirmation.php?code=$activation_code </a>";

//اطلاعات
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

$headers .= 'To: <'.$email.'>' . "\r\n";
$headers .= 'From: <info@mysite.com>' . "\r\n";

//ارسال ایمیل
$sentmail = mail($to,$subject,$message,$headers);

}
else {
// اگر ثبت در دیتابیس انجام نشد
echo "ثبت نام انجام نشد. دوباره تلاش کنید.";
}

//اگر ایمیل فعال سازی ارسال شد
if($sentmail){
$msg.="<font color='green' size='+1'>ثبت نام انجام شد و ایمیل فعال سازی برای شما ارسال شد .</font>";
}
// اگر ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد
else {

$msg.="<font color='red' size='+1'>ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد</font>";
}

اگه کد کار نکرد ، لطفا خبر بدید تا یه فکری براتون بکنم!!!!:لبخندساده:

Mitra M
جمعه 14 تیر 1392, 10:52 صبح
دوستان سلام...
سایتی دارم.
موقعی که کاربر ثبت نام میکنه یک ایمیل فعال سازی باید به ایمیلش ارسال بشه. ثبت تائید میشه! ولی ارسال نمیشه ...
اینم کدشه....

$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){

// ایمیل کاربر
$to=$email;

//موضوع ایمیل فعال سازی
$subject="فعال سازی ثبت نام";

// ایمیل سایت ما
$header="from: نام سایت <info@mysite.com>";

//متن ایمیل
$message="لینک فعال سازی ";
$message.="برای فعال سازی ثبت نام روی لینک زیر کلیک کنید ";
$message.="<a href='".$url."Product/activation.php?code=$activation_code '>".$url."confirmation.php?code=$activation_code </a>";

//ارسال ایمیل
$sentmail = mail($to,$subject,$message,$header);

}
else {
// اگر ثبت در دیتابیس انجام نشد
echo "ثبت نام انجام نشد. دوباره تلاش کنید.";
}

//اگر ایمیل فعال سازی ارسال شد
if($sentmail){
$msg.="<font color='green' size='+1'>ثبت نام انجام شد و ایمیل فعال سازی برای شما ارسال شد .</font>";
}
// اگر ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد
else {

$msg.="<font color='red' size='+1'>ثبت نام انجام شد اما ایمیل فعال سازی ارسال نشد</font>";
}

با سلام. برای ارسال ایمیل استفاده از تابع mail تحت هیچ شرایط توصیه نمیشه!!! چون بسیاری از وب سرور ها از این تابع پشتیبانی نمی کنند(مشکل خودم!) برای ارسال ایمیل از تابع phpmailer استفاده کنید. شما باید ابتدا اسکریپت آخرین ورژن phpmailer را دانلود کرده و در هاست خود آپلود نمایید. در ذیل کد ارسال ایمیل با این تابع آمده است. امیدوارم مفید باشد.
لازم به ذکر است این تابع در لوکال هاست کار نمی کند!



<?php
//ضمیمه کردن تابع پی اچ پی میلر
require_once('class.phpmailer.php');

$mail = new PHPMailer(); // defaults to using php "mail()"
$body = "
<html><body>
<div align='center'>
متن مورد نظر شما
متن مورد نظر شما
متن مورد نظر شما
</div>
</body>
</html>";
//آدرس برای پاسخگویی به ایمیل ارسالی
$mail->AddReplyTo("name@yourdomain.com","First Last");
//آدرسی که از آن ایمیل ارسال شده است
$mail->SetFrom('name@yourdomain.com', 'First Last');
//آدرس برای پاسخ به ایمیل
$mail->AddReplyTo("name@yourdomain.com","First Last");
//آدرس گیرنده
$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");
//موضوع ایمیل
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
//متن جایگزین
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
//متن اصلی (میتواند کد اچ تی ام ال باشد
$mail->MsgHTML($body);
//در صورت نیاز فایل ضمیمه - در صورت عدم نیاز دو خط زیر را حذف کنید
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

//بررسی وضعیت ارسال ایمیل
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}

?>

ehsan_savadkohi
شنبه 15 تیر 1392, 09:54 صبح
سلام دوستان ....
الان با phpmailer امتحات کردم ارسال نمیکنه

$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = "mail.example.com"; // آدرس SMTP سرور شما
$mail->SMTPAuth = true; // استفاده از SMTP authentication
$mail->Username = "yourname@example.com"; // نام کاربری SMTP
$mail->Password = "************"; // کلمه عبور SMTP
$mail->AddReplyTo('yourname@example.com', 'Your Name'); // افزودن پاسخ به ارسال کننده
$mail->AddAddress('username@example.com', 'User Name'); // تنظیم آدرس گیرنده ایمیل
$mail->SetFrom('yourname@example.com', 'Your Name'); // تنظیم قسمت ارسال کننده ایمیل
$mail->Subject = 'PHPMailer تست'; // موضوع ایمیل
$mail->AltBody = 'برنامه شما از این ایمیل پشتیبانی نمی کند، برای دیدن آن، لطفا از برنامه دیگری استفاده نمائید'; // متنی برای کاربرانی که نمی توانند ایمیل را به درستی مشاهده کنند
$mail->CharSet = 'UTF-8'; // یونیکد برای زبان فارسی
$mail->ContentType = 'text/html'; // استفاده از html
$mail->MsgHTML('<html>
<body>
این یک <font color="#CC0000">تست</font> است!
</body>
</html>'); // متن پیام به صورت html
//$mail->AddAttachment('images/phpmailer.gif'); // ضمیمه کردن فایل
$mail->Send(); // ارسال
echo "پیام با موفقیت ارسال شد\n";
}
catch (phpmailerException $e) {
echo $e->errorMessage(); // پیام خطا از phpmailer
}
catch (Exception $e) {
echo $e->getMessage(); // سایر خطاها
}
}
شاید تو پر کردن اطلاعات اشتباه کردم کمک کنید دوستان!!1

rezaonline.net
یک شنبه 16 تیر 1392, 00:10 صبح
لطف کنید با استفاده از تابع mail یک ایمیل بفرستید و نتیجه برگشتی این تابع رو چاپ کنید .
اگر true بود یعنی ایمیل ارسال میشه اما دریافت نمیشه ، که حدس میزنم مشکل از کانفیگ سرورتون باشه .

darkcms
یک شنبه 16 تیر 1392, 15:02 عصر
سلام دوستان ....
الان با phpmailer امتحات کردم ارسال نمیکنه

$create_member = mysql_query("INSERT INTO `members` (`username`, `password`, `email`, `ip`, `date`, `time`, `dater`,`timer`,`membership`,`verify_code`,`active `)
VALUES('$username','$password','$email','$memip',' $date','$time','$date','$time','$user_membership', '$activation_code',0)");
/*-----------------------------ارسال ایمیل تائید---------------------------------*/


// ارسال ایمیل فعال سازی
if($create_member){
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = "mail.example.com"; // آدرس SMTP سرور شما
$mail->SMTPAuth = true; // استفاده از SMTP authentication
$mail->Username = "yourname@example.com"; // نام کاربری SMTP
$mail->Password = "************"; // کلمه عبور SMTP
$mail->AddReplyTo('yourname@example.com', 'Your Name'); // افزودن پاسخ به ارسال کننده
$mail->AddAddress('username@example.com', 'User Name'); // تنظیم آدرس گیرنده ایمیل
$mail->SetFrom('yourname@example.com', 'Your Name'); // تنظیم قسمت ارسال کننده ایمیل
$mail->Subject = 'PHPMailer تست'; // موضوع ایمیل
$mail->AltBody = 'برنامه شما از این ایمیل پشتیبانی نمی کند، برای دیدن آن، لطفا از برنامه دیگری استفاده نمائید'; // متنی برای کاربرانی که نمی توانند ایمیل را به درستی مشاهده کنند
$mail->CharSet = 'UTF-8'; // یونیکد برای زبان فارسی
$mail->ContentType = 'text/html'; // استفاده از html
$mail->MsgHTML('<html>
<body>
این یک <font color="#CC0000">تست</font> است!
</body>
</html>'); // متن پیام به صورت html
//$mail->AddAttachment('images/phpmailer.gif'); // ضمیمه کردن فایل
$mail->Send(); // ارسال
echo "پیام با موفقیت ارسال شد\n";
}
catch (phpmailerException $e) {
echo $e->errorMessage(); // پیام خطا از phpmailer
}
catch (Exception $e) {
echo $e->getMessage(); // سایر خطاها
}
}
شاید تو پر کردن اطلاعات اشتباه کردم کمک کنید دوستان!!1
با سلام.
کدی که گذاشتم کار کرد؟
اگه کار کرده است ، دیگه چرا می خوای از phpmailer استفاده کنی؟:لبخندساده: