PDA

View Full Version : آموزش: ارسال ایمیل



Arthas1990
سه شنبه 04 مرداد 1390, 22:49 عصر
سلام دوستان.
طبق درخواست یکی از دوستام می خوام ارسال ایمیل رو واساتون بتوضیحم.

Arthas1990
سه شنبه 04 مرداد 1390, 23:08 عصر
ارسال ایمیل به تعداد کم در php خیلی راحته . با استفاده از کد زیر می تونید هر جور میلی از طرف هرکسی بفرستید .تابع mail خیلی راحت امکان ارسال ایمیل رو میده :
البته این تابع برای ارسال محدود تعداد 100 تا در ساعته ، توی تعداد بالا کاربرد و انبوه در لحظه کاربرد نداره . از این تابع معمولا وا3 تایید ثبت نام ها و یا فراموش کردن رمز عبور و اینچنین کارهایی استفاده میشه .
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
ریترن این تابع true/false که وضعیت ارسال رو مشخص میکنه.
پارامتر توضیحات to
آدرس گیرنده نامه subject موضوع نامه message متن نامه extra_headers headerهای اضافی برای نامه شما extra_arguments آرگومانهای بیشتر برای تحت اختیار گرفتن برنامه فرستنده mail
برای ارسال به چندین گیرنده در قسمت to آدرسها را یکی پس از دیگری با کاما جودا کرده و قرار دهید مانند :
user@example.com, anotheruser@example.com
و یا با نام گیرنده مانند :
User <user@example.com>, Another User <anotheruser@example.com>

نمونه :

<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>
و نمونه کاملتر :

<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

و برای ارسال ایمیل های قالب بندی شده ی html :

<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

سوالی بود بذارید . اگه یاد داشتم جواب میدم :چشمک:
یکی - دو روز دیگه اگه شد ارسال با sock open رو برای smtp وا3 ارسال بالای 1000 تا میگم.
امیدوارم کمکی کرده باشم :بوس:

mr.zenith
چهارشنبه 05 مرداد 1390, 01:36 صبح
سلام
فکر کنم با دستکاری بخش ارسال کننده بشه فیک میل زد
درسته؟

hidensoft
چهارشنبه 05 مرداد 1390, 03:19 صبح
بله می شه .. سه سوت هم اسپم می شه

Arthas1990
چهارشنبه 05 مرداد 1390, 06:31 صبح
سلام
فکر کنم با دستکاری بخش ارسال کننده بشه فیک میل زد
درسته؟

آره میشه . وا3 ارسال 3-4 تا خوبه ولی همونطور که هیدن جان گفت اسپم میشه و اگر بازم ارسال کنی آی پیت توسط سرور گیرنده بلاک میشه . ایمیل مارکتینگ هم به همین صورته که بلاک میشه اما اگر قوانین rfc رو کاملا رعایت کنی میشه روش حساب کرد . بعدا وا3 مارکتینگ توضیح میدم . ولی در مجموع وا3 2-3 تا fake بد نیس که چه عرض کنم . خیلی هم حال میده :چشمک:

رضا قربانی
چهارشنبه 05 مرداد 1390, 09:47 صبح
اولین هدری که می فرستید خوبه که utf-8 باشه.
تا سقف 3 الی 4 ایمیل در دقیقه اسپم نمی شه ولی اگه بیشتر بشه می ره توی اسپم . کلاس مایلر تمامی این مشکلات رو حل می کنه ولی ممنون از Arthas1990 (http://barnamenevis.org/member.php?168540-Arthas1990) جان که می خواد ارسال ایمیل انبوه رو بدون اینکه اسپم بشه رو توضیح بده

Hadiir.net
پنج شنبه 06 مرداد 1390, 21:51 عصر
من تازه کارم و فعلاٌ دارم توی محیط لوکال هاست کدها رو تست میکنم.
آیا این کدها رو این حالت هم جواب میده؟ یا باید حتماٌ انلاین تست بشن؟
ممنون میشم راهنمایی کنین

Arthas1990
پنج شنبه 06 مرداد 1390, 22:07 عصر
آره جواب میدن اما باید mail server نصب کنی رو سیستمت . Mercury Mail Server رو نصب کن . کار باهاش آسونه

Hadiir.net
پنج شنبه 06 مرداد 1390, 22:27 عصر
آره جواب میدن اما باید mail server نصب کنی رو سیستمت . Mercury Mail Server رو نصب کن . کار باهاش آسونه

از کجا دانلود کنم؟

Arthas1990
جمعه 07 مرداد 1390, 06:11 صبح
آموزش :
http://www.netdummy.net/setupmercury.html
نصب :
http://mercury-32.en.malavida.com/download