لیست پستی در PHP و MySQL. PHP لیست پستی php اسکریپت ارسال با تاخیر

دانلود اسکریپت برای سازماندهی بازاریابی ایمیلی ارسال خودکار انبوه نامه ها به ایمیل Lasto Post Woodpecker v5.01

مشخصه:

این اسکریپت به پایگاه داده MySQL و سرویس راه اندازی برنامه برنامه ریزی شده cron نیاز ندارد و بنابراین حتی روی سرورهای رایگان نیز کار می کند. تعداد حروف در مجموعه می تواند هر تعداد محدودیت باشد. هیچ محدودیتی برای تعداد سرویس های مستقل در حال اجرا وجود ندارد. توانایی ایجاد سری های مختلف خبرنامه ایمیلی که می خواهید، و برای هر یک از آنها حتی نیازی به ایجاد دایرکتوری خود ندارید.
مستقیماً از طریق رابط وب، می توانید در عرض چند ثانیه نامه جدیدی را به یک لیست پستی خاص اضافه کنید، اما نامه باید از قبل آماده شود و این پیام بلافاصله سفر خود را برای همه مشترکین این سرویس که قبلاً دریافت کرده اند آغاز می کند. مجموعه کاملی از نامه های این مجموعه

امکان ضمیمه کردن گرافیک وجود دارد.
- سهولت مدیریت: پنل مدیریت به جزئی ترین روش می نویسد که چه کاری انجام می دهد و با کدام فایل.
- رفتار منطقی سرویس: خود اسکریپت تمام فایل های لازم را روی سرور ایجاد می کند و همچنین آنها را مدیریت می کند و در صورت لزوم آنها را اصلاح و حذف می کند. آمار و گزارش اقدامات انجام شده را حفظ می کند.
- پنل مدیریت پیچیده: شما می توانید یک سرویس پستی خودکار جدید را تنها با چند کلیک ایجاد کنید.
- رویکرد فردی به میزبانی: بسته به شرایط ارائه شده توسط میزبان، می توان شدت ترافیک ایمیل را کنترل کرد (ارسال تعداد زیادی نامه به یکباره یا در بخش های کوچک، اما در طول روز). برخی از شرکت های هاستینگ به شما اجازه ارسال بیش از یک ایمیل در دقیقه (محافظت از هرزنامه) را نمی دهند، اما حتی در این صورت اسکریپت ما به هدف خود عمل می کند.
- هیچ الزامی برای دانش PHP توسط مدیر وب سایت وجود ندارد. در حالی که دانستن PHP مفید است ...

بهبودهای موجود در نسخه دوم:

اتصال کرون به ساده ترین روش.
- ارسال پیام به همه مشترکین یک سرویس داده شده یا چندین سرویس به طور همزمان.
- پنل مدیریت راحت تر (خروجی چند صفحه ای از همه گزارش ها).
- واردات و صادرات لیست های ایمیل. امکان وارد کردن پایگاه داده های ایمیل با نام کاربری (به عنوان مثال، از یک پاسخگوی هوشمند گرفته شده است).

بهبودهای موجود در نسخه سوم:

تعداد نامحدودی ضمیمه با هر فرمتی را اجرا کرد.
- مکانیسم واردات لیست ایمیل بهبود یافته است.
- سرویس بازیابی پایگاه داده داخلی
- اضافه شدن سرویس سفارشی برای پشتیبان گیری خودکار پایگاه داده (پشتیبان گیری).
- ماژول داخلی برای به دست آوردن آمار پویایی اشتراک.
- اکنون می توانید یک آدرس ایمیل خاص را از همه یا برخی از خدمات حذف کنید. زمانی که کاربران با رفتار نامناسب در لیست پستی مشترک شوند ضروری است.

بهبودهای موجود در نسخه چهارم:

کاربر باید اشتراک خود را تأیید کند - روی پیوند خاصی که به ایمیل او آمده است کلیک کنید. اگر چنین تأییدی رعایت نشود، اسکریپت متعاقباً نیاز به تأیید اشتراک را چند بار دیگر به شما یادآوری می کند.
- مدیر وب سایت می تواند دامنه های ایمیل خاصی را برای اشتراک مسدود کند. به عنوان مثال، سرور ایمیل از Rambler نامه های بسیاری از ارسال کنندگان خودکار را به عنوان هرزنامه در نظر می گیرد.
- تغییر الگوریتم کار با حروف سریال.
- غیرفعال کردن موقت اسکریپت پس از روشن شدن، انبوهی از حروف ایجاد نمی کند، که باید تا این تاریخ ارسال می شد - حروف با آرامش و نجیب در فاصله زمانی تعیین شده ترک خواهند شد.
- فاصله بین هر دو حرف مجاور یک سری را می توان به صورت دلخواه تنظیم کرد.
- کاربران فقط با پایگاه داده موقت کار می کنند و به پایگاه اصلی دسترسی ندارند.
- همگام سازی پایگاه های داده توسط یک اسکریپت انجام می شود و نه هیچ کس دیگری.
- سرویس خبرنامه کاملاً بازطراحی شده است - اکنون یک کار مستقل است.
- آمار ساخته شده در خبرنامه ها - مدیر وب سایت اکنون می بیند که خبرنامه در چه مرحله ای است، تعداد کل نامه ها، چند نفر ارسال شده است، چند نفر باقی مانده است.
- امکان ارسال پستی طبق برنامه (راه اندازی خبرنامه در زمان رسیدن به تاریخ معین) را معرفی کرد.
- فرستنده مجهز به سیستم اطلاع رسانی وب مستر در مورد مشکلات پیش آمده در کار است. اگر خرابی در سرور رخ دهد، مدیر وب سایت بلافاصله از طریق ایمیل از آن مطلع خواهد شد.
- اکنون می توانید از لیست پستی لغو اشتراک کنید و از طریق رابط ایمیل اشتراک را تأیید کنید.
- هنگام فعال سازی بک آپ از طریق کرون، آمار روزانه ای از وضعیت سرویس ها خواهید داشت. اسکریپت گزارشی را تولید می کند و مستقیماً به ایمیل شما ارسال می کند.
- بخش پویایی اشتراک با گزارش های گرافیکی تکمیل شده است.

بهبودهای موجود در نسخه پنجم (در حال تکامل):

حفاظت در برابر برنامه های خودکار مورد استفاده هکرها برای انتخاب لاگین و رمز عبور معرفی شده است.
- مرحله تکمیلی تولید و ارسال یک کد تصادفی یک بار مصرف به ایمیل ادمین، بدون اطلاع از اینکه کدام دسترسی به پنل مدیریت غیرممکن است، به فرآیند مجوز اضافه شده است.
- هنگام پیمایش بین صفحات داخل پنل مدیریت، دیگر از هش های ورود یا رمز عبور استفاده نمی شود.
- از بین بردن حافظه پنهان مرورگر (یا رهگیری ترافیک) شما را از نظر امنیتی تهدید نمی کند.
- ساختار پایگاه داده دیگر به طور پیش فرض از پیش تعیین نشده است. شما خودتان روش رمزگذاری را با یک کلید ویژه تغییر می دهید که مستقیماً به کد اسکریپت هدایت می شود. در رابط وب، کلید قابل مشاهده نیست و قابل مشاهده یا تغییر نیست.



شما می توانید نرم افزار میزبانی شده در سایت ما را به صورت رایگان دانلود کنید، ما مسئولیتی نداریم و تضمین نمی کنیم که نیازهای شما را برآورده کند و در حال کار باشد، در بیشتر موارد نیاز به تنظیمات و اصلاحات دارد. تصحیح خطاها در کار آن، نصب آن بر روی هاست، راه اندازی آن در وظایف ما نیست و با پرداخت جداگانه خدمات برنامه نویس ما انجام می شود.

بسیاری از خدمات رایگان در اینترنت وجود دارد. از جمله خدمات برای ارسال نامه به مشترکین. برخی از آنها بسیار خوب هستند. اما از آنجایی که آنها رایگان هستند، به این معنی است که تبلیغات در حروف همان جا ظاهر می شود. بله، و بسیاری از فرم های اشتراک با آرم یک نماینده خدمات مناسب بسیاری نیستند.

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

بیایید ببینیم برای این به چه چیزی نیاز داریم. برای اینکه بازدیدکنندگان بتوانند در خبرنامه شما مشترک شوند، به فرمی برای وارد کردن آدرس ایمیل نیاز دارید. پس از وارد کردن آدرس باید به خاطر بسپارید. بیایید آدرس ها را در یک فایل ذخیره کنیم maillist.txtیک آدرس در هر خط پس از ذخیره آدرس، پیام مناسب را نمایش می دهیم و فرمی برای اشتراک آدرس دیگری یا حذف یک آدرس موجود نمایش می دهیم. این در واقع تقریباً تمام است. باقی مانده است که فقط قابلیت ارسال نامه را اضافه کنیم. برای امنیت، اجازه دهید یک رمز عبور بر روی توانایی ارسال نامه قرار دهیم - یک فرم برای وارد کردن رمز عبور لازم است. در مرحله بعد، به فرم هایی برای پر کردن آدرس و موضوع فرستنده و همچنین برای خود متن نیاز دارید. و در نهایت، خود فیلمنامه، که نامه ها را ارسال می کند. و حالا همه چیز مرتب است.

فرم برای وارد کردن آدرس ایمیل فقط شامل یک پنجره برای وارد کردن آدرس و یک دکمه برای تأیید است:



!}

بنابراین، در پنجره ورودی متن، با نام ایمیل و طول قابل مشاهده 30 کاراکتر، یک آدرس ایمیل وارد می شود. پس از کلیک بر روی دکمه با عنوان subscribe، آدرس به اسکریپت منتقل می شود ras.phpبه لیست پستی اضافه شود.

بعد، بیایید به فیلمنامه نگاه کنیم ras.phpکه آدرس ایمیل را در یک فایل ذخیره می کند، پیامی در مورد نتیجه و فرم های اشتراک و لغو اشتراک نمایش می دهد. اسکریپت را می توان به سادگی اجرا کرد - آدرس را ذخیره کنید، پیام مناسب را نمایش دهید. اما ممکن است مشکلاتی پیش بیاید: ممکن است شخصی به طور تصادفی چندین بار مشترک شود، ممکن است شخصی اشتباه تایپی داشته باشد و یک کاراکتر نامعتبر در قسمت آدرس وارد کند، یا عمداً زباله وارد کند. در این صورت لیست پستی آلوده می شود و آدرس های نادرست منجر به خطا در اسکریپت می شود. نتیجه گیری واضح است - قبل از ذخیره آدرس، باید آن را برای مطابقت با استانداردهای نامگذاری آدرس صندوق های پست الکترونیکی و همچنین حضور در لیست پستی بررسی کنید. برای اینکه کد را به صورت قسمتی در نظر نگیریم، نظرات خود را در خود کد خواهم داد:

$file=" maillist.txt"; // فایل حاوی آدرس

error_reporting(0); // خروجی پیام های مربوط به خطاهای احتمالی را غیرفعال کنید

تابع test_mail ($char ) // تابعی که واقعیت آدرس را بررسی می کند
{
پرچم $ = نادرست;
if(eregi("^[_\.0-9a-z-] [ایمیل محافظت شده]([-0-9a-z\.]+)\.((2,3)$)"، $char )) $flag = درست است، واقعی;
اگر ($flag ) برگردد درست است، واقعی;
در غیر این صورت بازگشت نادرست;
}

$email = trim(strtolower($email )); // وارد شوید
// فرم آدرس با
// کاراکترهای کوچک

تابع copy_mail ($char ) // بررسی کنید که آیا چنین آدرسی در پایگاه داده وجود دارد یا خیر
{
$file=" maillist.txt";
$list = فایل ($file);
برای ($i = 0؛ $i< sizeof ($list ); $i++ )
if ($char == trim($list [$i ])) $flag = درست است، واقعی;

اگر ($flag ) برگردد درست است، واقعی;
در غیر این صورت بازگشت نادرست;
}

پژواک"

";

اگر (is_file ($file )) // آدرس را با توابع بالا بررسی کنید
{
$maillist = فایل ($file);
اگر (!$email == "") (
if (test_mail ($email)) (
if (!copy_mail($email))
{
$maillist = "\n$email";
print "E-mail: $email به لیست پستی اضافه شد

";
}
else print "Email: $email از قبل در پایگاه داده است";
}
else print "Email: $email وجود ندارد";
}
چاپ دیگر"";
}
else print "$file یافت نشد! لطفا آگاه کردنمن در مورد خطا";
// فرمی را با پیشنهاد اشتراک و لغو اشتراک نمایش دهید
پژواک"
مشترک شدن در خبرنامه
";
echo "ایمیل را وارد کنید:
";

پژواک"



";
echo "لغو اشتراک از لیست پستی
ایمیل را وارد کنید:";
پژواک"
";
// اگر کاربر تصمیم به لغو اشتراک داشت، موردی که وارد شده را حذف کنیدنشانی
پرچم $ = نادرست;
$fw = fopen($file, " w");
برای ($i = 0؛ $i< sizeof ($maillist ); $i++ )
if (trim(strtolower($delmail )) == trim(strtolower($maillist [$i ]))) (
اگر (!$delmail == "")
{
چاپ"
$delmail از لیست پستی حذف شد
";
پرچم $ = درست است، واقعی;
}
}
else fputs($fw , $maillist [$i ]); // آدرس وارد شده در پایگاه داده نیست
fclose($fw);
اگر (!$delmail == "")
if (!$flag ) print "
$delmail در لیست پستی یافت نشد
";
?>

در اینجا کد ما برای ذخیره و حذف آدرس ها آماده است. اکنون باید مراقب وسایل ارسال نامه باشیم. ما از طریق Outlook ارسال نمی کنیم؟ همانطور که قبلاً ذکر شد، ما از امکان ارسال با رمز عبور محافظت می کنیم که در یک فرم خاص وارد می کنیم:




فیلد ورودی pass نام دارد و برای وارد کردن رمز عبور استفاده می شود. پس از کلیک بر روی دکمه ای که می گوید enter، رمز عبور به اسکریپت منتقل می شود out.php:

$subject = "فهرست پستی سایت من"; // موضوع پست
$fromemail = "my@soap"; // آدرس شما (برای پاسخ)
$file=" maillist.txt"; // لیست آدرس های مشترکین
$password = "رمز عبور مخفی"; // رمز عبور شما برای پست

اگر ($pass == $password) // اگر رمز عبور صحیح باشد
// سپس فرم را با فیلدهای ورودی نمایش دهید:
// آدرس فرستنده، متن پیام، متن پیام
// دکمه ارسال
// پس از فشار دادن دکمه، داده ها را به اسکریپت منتقل می کنیم
send.php
{
پژواک"
";
echo "آدرس فرستنده

";
echo "موضوع ایمیل
";
پژواک"
متن نامه:
";
پژواک"
";
چاپ" در پایه ".sizeof($maillist)."آدرس ها

";
برای ($i = 0؛ $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// اگر رمز عبور اشتباه است - لطفا دوباره وارد کنید
دیگر اکو"
";

باقی مانده است که فقط یک اسکریپت را در نظر بگیرید - اسکریپتی که نامه را ارسال می کند:

$odr = "\n\n\n برای لغو اشتراک از پیوند استفاده کنید\n";
$homepage = "http://site.url/ras.php";

error_reporting(0);
$subject = $HTTP_POST_VARS["موضوع"];
$body = $HTTP_POST_VARS["body"];
$subject = stripslashes($subject );
$body = stripslashes($body );

$file=" maillist.txt";
$maillist = فایل ($file);

چاپ "در پایه". آدرس‌های sizeof($maillist )."
";
برای ($i = 0؛ $i< sizeof ($maillist ); $i ++)
{
#echo($maillist[$i]."
");
mail($maillist [$i ], $subject ,
$body ."$odr $homepag ?delmail=$maillist [$i ]",
"از: $frommail");
}
پژواک "انجام شد!"؛

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

این کاملا آسان است! اکنون شما یک ابزار قدرتمند برای اجرای لیست پستی خود دارید. هیچ قانون دیگری برای شما وجود ندارد. هر چه می خواهید، در لیست پستی خود بنویسید. آزادی کامل در پیکربندی و ظاهر فرم های اشتراک.

البته این کد تنها یک مجموعه حداقلی است. به عنوان مثال، با استفاده از عملکرد نامه، می توانید یک اعلان در مورد یک مشترک جدید سازماندهی کنید، و به مشترک در مورد ثبت نام موفقیت آمیز بگویید، در مورد لیست پستی بیشتر بگویید.

البته در مورد آزادی کامل به هیچ وجه منظورم اشتراک اجباری نبود؟ یا ساده تر، هرزنامه. اگر ناگهان شخصی تصمیم به ارسال هرزنامه به این روش گرفت، اجازه دهید در نظر بگیرد که مدیریت میزبانی بلافاصله شروع به شکایت از آن خواهد کرد. و فرقی نمی کند که هاست پولی باشد یا خیر، در صورت مشاهده چنین اقداماتی، خدمات خود را بدون جبران خسارت به شما لغو می کند. و با هاست رایگان حتی سخت تر است. در مرحله اول، برای باز کردن این عملکرد باید از دولت اجازه شخصی بخواهید، و ثانیا، به عنوان یک قاعده، محدودیت 1 حرف در دقیقه وجود دارد. پس آقایان اسپمر، قطع کنید :)

بیایید با چنین یادداشت شادی پایان دهیم.




اگر سؤالات بیشتری دارید یا چیزی روشن نیست - به ما خوش آمدید

با سلام خدمت دوستان عزیز!
در آخرین مقاله، من کمی به موضوع داغ سرویس پستی شخصی یا اسکریپت پستی پرداختم. موضوع واقعا داغ است، زیرا. Smartresponder دیگر فعال نیست و اکثر کاربران اینترنت به دنبال جایگزینی هستند. متأسفانه، Smartresponder مشابهی وجود ندارد و احتمالاً نخواهد بود! خبرنامه یا همانطور که در حال حاضر مد روز است، بازاریابی ایمیلی موثرترین ابزار برای انجام تجارت است. ساده تر، نمی توانید هیچ برندی را بدون جمع آوری افرادی که به موضوع شما علاقه مند هستند، بدون ارسال پستی تبلیغ کنید. برای جمع آوری مخاطبان از افراد علاقه مند و هدایت آنها در یک موضوع، به یک سرویس لیست پستی، یک سرویس برای نامه های پستی انبوه نیاز دارید. در آخرین مقاله یا بهتر است بگوییم در ویدیو، سایت هایی را که خدمات پستی خود را ارائه می دهند، نشان دادم و مروری کوتاه کردم. پیشنهادات زیادی وجود دارد و این پازل به خصوص برای مبتدیان آغاز می شود. برچسب های قیمت بالا هستند و در جایی که قیمت کم و بیش مقرون به صرفه است، ناراحتی های زیادی وجود دارد. گاهی اوقات خدمات هزینه واقعی را پنهان می کند، به عنوان مثال. تعرفه های پایین را اعلام کنید و در نتیجه سعی کنید تعداد بیشتری از کاربران را با هدف بیشتر تبلیغ پول جذب کنید. و بنابراین، اولین اقدام: شما توسط ارزانی یا پیشنهاد سودمند دیگری فریفته شدید.

شما یک حساب باز می‌کنید، پایگاه داده را انتقال می‌دهید، همه صفحات ضبط را دوباره انجام می‌دهید، پیوندهای موجود در مقالات را در سایت‌های خود اصلاح می‌کنید، در صورت امکان، همه پست‌ها، محصولاتی را که فرم‌های اشتراک (پیوندها) وجود دارد، ویرایش می‌کنید. خلاصه اینکه داری کار جهنمی انجام میدی شما درگیر کار با یک پلتفرم ایمیل جدید شدید و سرگرمی از اینجا شروع می شود. اقدام دوم: سرویس پستی، انجام کمپین تبلیغاتی، متکی به ناآگاهی و بی توجهی کاربران اینترنتی است. شما نامه ای به پایگاه داده می فرستید، دومی را آماده می کنید ... معلوم می شود که دیگر نمی توانید پیام دوم ارسال کنید، زیرا برنامه تعرفه شما قبلاً قابلیت های خود را به پایان رسانده است. به نظر می رسد که در توضیحات طرح تعرفه، تعداد ارسال نامه های ممکن بسیار کم بوده است. تحت ارزانی، دقیقاً محدودیت های ارسال یا محدودیت نامه ها پنهان است. برای ارسال نامه دیگر باید تعداد ارسال ها را خریداری کنید و اینها هزینه های پیش بینی نشده ای است. در نتیجه، شما دوباره پیچید. من شخصاً نتوانستم خدمات لیست پستی مناسبی پیدا کنم: یا برچسب قیمت، یا عملکرد با مجموعه ای از ابزارها، یا انگلیسی، یا تعدیل دستی هر حرف، یا .... اما خطرناک ترین چیز امکان از دست دادن ساده پایگاهی است که مدت ها و سخت در حال ساخت آن بوده اید.
برای مدت طولانی به موضوع "خدمات پستی شخصی" فکر می کردم. در حالی که اسمارت وجود داشت، موضوع زیاد گرم نشد. شروع به جستجوی فیلمنامه کردم. من با BOX-MAIL شروع کردم، سپس Vyshuhol یا Postal Woodpecker، چند پلاگین را امتحان کردم. اما، پس از کار، متوجه شدم که ایجاد سرویس پستی خود در یک میزبان معمولی واقع بینانه نیست. می دانید که کار اسپم ها فعال تر شده و چیزهای زیادی در اینترنت ظاهر شده است که از این فعالیت غیرقانونی جلوگیری می کند. اول از همه، افراد با وجدان از این رنج می برند، که به دلایل قانونی، سعی می کنند یک لیست پستی را در پایگاهی که به طور قانونی جمع آوری شده است، انجام دهند. ارائه دهندگان سهمیه هایی را برای ترافیک پستی معرفی کرده اند. 100-500 ایمیل در روز نمی تواند ارسال انبوه ایمیل ها را فراهم کند. ارسال "اخبار فوری" شما می تواند مدت زیادی طول بکشد، به عنوان مثال. اخبار شما برای پایان لیست لیست اشتراک شما دیگر مرتبط نخواهد بود! نتیجه گیری (نظر من) - ارسال پستی انبوه از میزبانی معمولی مرتبط نیست. اینجا یاد اسکریپت MailWizz افتادم که چند سال پیش اومده بود و حتی تستش کردم. اما پس از آن اسمارت وجود داشت! هزینه سرورهای اختصاصی در آن زمان بسیار بالا بود - کار ابتدا به حالت تعلیق درآمد و سپس من به سادگی وجود اسکریپت را فراموش کردم. یادم آمد فقط زمانی که زندگی به گلویم رسید. مجبور شدم برای جمع آوری اطلاعات وقت بگذارم. کار ما این است که چیز مفیدی را در راز پنهان کنیم. به جز بررسی پانل، چیزی پیدا نشد. خود فیلمنامه به زبان انگلیسی است - یک Russifier مورد نیاز بود. تجربه وجود دارد، دانش کافی است - مشکل حل شد. و اکنون سرویس پستی خودش راه اندازی شده و در حال حاضر کار می کند. چگونه کار می کند، بهتر است ویدیو را تماشا کنید:


و بنابراین مزایای سرویس پستی خودتان:

- استقلال و فرصت حاصله برای مسلط شدن بر موقعیت. میخوام بفرستم میخوام نفرستم.
- تعداد نامحدود حروف
- مجموعه ای عالی از ابزار


- سهولت کار و نوار ناوبری راحت


- نصب ساده و پیکربندی آسان
- صرفه جویی در. یکبار پرداخت کنید و یک عمر استفاده کنید.

هرکسی خودش انتخاب میکنه نکته اصلی - فراموش نکنید که پایه همه چیز است! اینکه درآمد ما به لیست اشتراک بستگی دارد - هر چه تعداد مشترکین بیشتر باشد، درآمد بیشتری کسب می کنیم. موضوع یا جایگاه فعالیت ما بر اولویت داشتن پایگاه تأثیری ندارد.

خدمات رایگان زیادی در اینترنت وجود دارد. از جمله خدمات برای ارسال نامه به مشترکین. برخی از آنها بسیار خوب هستند. اما از آنجایی که آنها رایگان هستند، به این معنی است که تبلیغات در حروف همان جا ظاهر می شود. بله، و بسیاری از فرم های اشتراک با آرم یک نماینده خدمات مناسب بسیاری نیستند.

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

بیایید ببینیم برای این به چه چیزی نیاز داریم. برای اینکه بازدیدکنندگان بتوانند در خبرنامه شما مشترک شوند، به فرمی برای وارد کردن آدرس ایمیل نیاز دارید. پس از وارد کردن آدرس باید به خاطر بسپارید. بیایید آدرس ها را در فایل maillist.txt ذخیره کنیم، یک آدرس در هر خط. پس از ذخیره آدرس، پیام مناسب را نمایش می دهیم و فرمی برای اشتراک آدرس دیگری یا حذف یک آدرس موجود نمایش می دهیم. این در واقع تقریباً تمام است. باقی مانده است که فقط قابلیت ارسال نامه را اضافه کنیم. برای امنیت، اجازه دهید یک رمز عبور بر روی توانایی ارسال نامه قرار دهیم - یک فرم برای وارد کردن رمز عبور لازم است. Dahlia برای پر کردن آدرس و موضوع فرستنده و همچنین برای خود متن به فرم هایی نیاز دارد. و در نهایت، خود فیلمنامه، که نامه ها را ارسال می کند. و حالا همه چیز مرتب است.

فرم برای وارد کردن آدرس ایمیل فقط شامل یک پنجره برای وارد کردن آدرس و یک دکمه برای تأیید است:


بنابراین، در پنجره ورودی متن، با نام ایمیل و طول قابل مشاهده 30 کاراکتر، یک آدرس ایمیل وارد می شود. پس از کلیک بر روی دکمه با عنوان subscribe، آدرس به اسکریپت ras.php ارسال می شود تا در لیست پستی درج شود.

در مرحله بعد، بیایید به اسکریپت ras.php نگاه کنیم که آدرس ایمیل را در یک فایل ذخیره می کند، پیامی در مورد نتیجه و فرم های اشتراک و لغو اشتراک نمایش می دهد. اسکریپت را می توان به سادگی اجرا کرد - آدرس را ذخیره کنید، پیام مناسب را نمایش دهید. اما ممکن است مشکلاتی پیش بیاید: شخصی ممکن است به طور تصادفی چندین بار مشترک شود، شخصی ممکن است اشتباه تایپی کند و یک کاراکتر نامعتبر در قسمت آدرس وارد کند. در این صورت لیست پستی آلوده می شود و آدرس های نادرست منجر به خطا در اسکریپت می شود. نتیجه گیری واضح است - قبل از ذخیره آدرس، باید آن را برای مطابقت با استانداردهای نامگذاری آدرس صندوق های پست الکترونیکی و همچنین حضور در لیست پستی بررسی کنید. برای اینکه کد را به صورت قسمتی در نظر نگیریم، نظرات خود را در خود کد خواهم داد:

$file = "maillist.txt"; // فایل حاوی آدرس error_reporting(0); // غیرفعال کردن خروجی پیام‌های مربوط به خطاهای احتمالی تابع test_mail($char) // تابعی که واقعیت آدرس را بررسی می‌کند ( if (preg_match("/^[_\.0-9a-z-] [ایمیل محافظت شده]([-0-9a-z\.]+)\.((2,3)$)/، $char)) بازگشت true؛ بازگشت نادرست؛ ) // دریافت آدرس وارد شده در فرم با حروف کوچک $ email = trim(strtolower($email))؛ تابع copy_mail($char) // بررسی کنید که آیا چنین آدرسی در پایگاه داده وجود دارد ($ file; $list = file($file)؛ برای ($i = 0; $) من< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; if (is_file($file)) // سپس آدرس را با توابع بالا بررسی کنید ($maillist = file($file); if (!$email == "") ( if (test_mail($email)) ( if (! copy_mail($email)) ($maillist = "\n$email"; چاپ "E-mail: $email به لیست پستی اضافه شد
"; ) else print "ایمیل: $email از قبل در پایگاه داده است"; ) else print "ایمیل: $email وجود ندارد";) else print""; ) else print "$file یافت نشد! لطفا آگاه کردنمن در مورد خطا"; // نمایش فرمی با پیشنهاد اشتراک و لغو اشتراک echo"
مشترک شدن در خبرنامه
"; echo "ایمیل را وارد کنید:
"؛ پژواک"


"؛ echo "لغو اشتراک از لیست پستی
نامه را تایپ کنید:"; echo"
".< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail از لیست پستی حذف شد
"; $flag = true; ) ) else fputs($fw, $maillist[$i]); // آدرس وارد شده در پایگاه داده نیست fclose($fw); if (!$delmail == "") اگر (!$ پرچم) چاپ "
$delmail در لیست پستی یافت نشد
";

در اینجا کد ما برای ذخیره و حذف آدرس ها آماده است. اکنون باید مراقب وسایل ارسال نامه باشیم. ما از طریق Outlook ارسال نمی کنیم!؟. همانطور که قبلاً ذکر شد، ما از امکان ارسال با رمز عبور محافظت می کنیم که در یک فرم خاص وارد می کنیم:


فیلد ورودی pass نام دارد و برای وارد کردن رمز عبور استفاده می شود. پس از کلیک بر روی دکمه login، رمز عبور به اسکریپت out.php ارسال می شود:

$subject = "فهرست پستی سایت من"; // موضوع پست $fromemail = "my@soap"; // آدرس شما (برای پاسخ) $file = "maillist.txt"; // لیست آدرس های مشترکین $password = "secretpassword"; // رمز عبور شما برای ارسال اگر ($_POST["pass"] == $password) // اگر رمز عبور صحیح است // سپس فرم را با فیلدهای ورودی نمایش دهید: // آدرس فرستنده، متن پیام، متن پیام // دکمه برای ارسال // پس از کلیک بر روی دکمه، داده ها را به اسکریپت send.php ( echo "


"; echo "آدرس فرستنده

"; echo "موضوع ایمیل
"؛ پژواک"
متن نامه:
"؛ پژواک"
"؛ چاپ " در پایه ".sizeof($maillist)."آدرس ها

"؛ برای ($i = 0؛ $i< sizeof ($maillist); $i++) print $maillist[$i]. "
";) // اگر رمز عبور اشتباه است - لطفاً دوباره echo را وارد کنید.
";

باقی مانده است که فقط یک اسکریپت را در نظر بگیرید - اسکریپتی که نامه را ارسال می کند:

$odr = "\n\n\n برای لغو اشتراک از پیوند استفاده کنید\n"; $homepage = "http://site.url/ras.php"; error_reporting(0); $subject = $HTTP_POST_VARS["موضوع"]; $body = $HTTP_POST_VARS["body"]; $subject = stripslashes($subject); $body = stripslashes($body); $file = "maillist.txt"; $maillist = فایل ($file); چاپ "در پایه". آدرس‌های sizeof($maillist)."
"؛ برای ($i = 0؛ $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i]، $subject، $body ."$odr $homepag?delmail=$maillist[$i]، "از:<$fromemail>")؛ ) اکو "انجام شد!"؛

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

حق چاپ توسط ولادیسلاو پوتیاک http://ru-coding.com/. تغییرات و اضافات

PHP Newsletter یک ابزار بازاریابی ایمیلی برای سازماندهی خبرنامه های ایمیل از سایت شما، هر گونه اطلاعات است. اسکریپت آسان برای استفاده، آسان برای نصب، همه کاره برای راه اندازی و با حداقل نیاز به میزبانی. خبرنامه PHP به زبان PHP نوشته شده است و دارای بسیاری از ویژگی ها و عملکردهای مفید است، مانند ایجاد لیست پستی با مرتب سازی بر اساس دسته ها، ویرایشگر قالب نامه بصری، ارسال نامه به همراه پیوست، ارسال پستی از طریق سرور SMTP، واردات / صادرات پایگاه داده ایمیل، مدیریت مشترک، لیست های پستی پاسخگوی خودکار، آمار پستی و موارد دیگر برای یک بازاریاب ایمیل.
مورد نیاز

PHP 5.3 و بالاتر
- پایگاه داده MySQL 4.1 و بالاتر
- نامه ()
-iconv
- رشته مگابایت
-زیپ

ممکن ها

خبرنامه PHP همه چیزهایی را که برای ایجاد، ارسال و پیگیری خبرنامه های ایمیل نیاز دارید، دارد. شامل ویژگی های:

  • ویرایشگر راحت WYSIWYG

ویرایشگر داخلی WYSIWYG به شما امکان ایجاد و ویرایش قالب های ایمیل را می دهد. می‌توانید متن را قالب‌بندی کنید، تصاویر را آپلود و جای‌گذاری کنید، پیوندها را اضافه کنید و موارد دیگر.

  • ارسال ایمیل از طریق سرور smtp، mail() و sendmail

خبرنامه PHP می تواند از طریق تابع استاندارد php mail() یا از طریق سرور smtp با استفاده از سوکت ها یا عوامل انتقال نامه sendmail نامه ارسال کند.

  • پاسخگوی خودکار

شما می توانید لیست های پستی ایجاد کنید، که پس از آن به طور خودکار به ترتیب مشخص شده طبق برنامه ارسال می شوند. تنها چیزی که نیاز دارید این است که cron را راه اندازی کنید و یک لیست پستی ایجاد کنید.

  • فرم اشتراک خبرنامه با گزینه لغو اشتراک

خبرنامه PHP به شما امکان می دهد تا فرم های اشتراک خبرنامه و لغو اشتراک را ایجاد کنید. با قرار دادن کد html فرم در وب سایت خود می توانید فرم را به وب سایت خود اضافه کنید.

  • انتخاب فرمت پستی (ساده و html)

می توانید ایمیل های جذاب HTML یا ایمیل های متنی ساده را با ویرایشگر قالب ایمیل داخلی ایجاد کنید.

  • پشتیبانی از اکثر کدهای شناخته شده

خبرنامه PHP از بیش از 35 کدگذاری ملی مختلف پشتیبانی می کند.

  • افزودن و ارسال پیوست

این اسکریپت شامل پشتیبانی کامل برای آپلود و ارسال پیوست می باشد.

  • افزودن اولویت استاندارد (انبوه، ناخواسته یا لیست) و سرصفحه های لغو اشتراک فهرست به لیست پستی

برای جلوگیری از وارد نشدن ایمیل‌هایتان به هرزنامه، توصیه می‌شود در فهرست‌های پستی، اولویت (انبوه، ناخواسته یا فهرست) و فهرست لغو اشتراک را اضافه کنید.

  • اضافه کردن یک امضای DKIM به هدر ایمیل

برای بهبود طبقه‌بندی و شناسایی ایمیل‌های قانونی، ابزار PHP Newsletter به شما امکان می‌دهد یک امضای DKIM (فناوری برای تأیید هویت فرستنده نامه با افزودن امضای دیجیتال مرتبط با نام دامنه) به هدرهای ارسالی اضافه کنید. ایمیل ها

  • شخصی سازی ایمیل

شخصی‌سازی ایمیل یکی از مؤثرترین راه‌ها برای ایجاد تأثیر اولیه خوب بر روی گیرنده ایمیل است زیرا ایمیل‌های شخصی‌شده از نظر آماری احتمال باز شدن و خواندن آنها بیشتر است. یک برچسب به قالب ایمیل اضافه کنید نامو به طور خودکار با نام مشترک جایگزین می شود.

  • یک لیست پستی نامحدود ایجاد کنید
  • مدیریت لیست مشترکین

از طریق رابط وب، می توانید لیست مشترکین را مدیریت کنید: مشاهده، افزودن، ویرایش و حذف مشترکین.

  • واردات/صادرات آدرس های ایمیل

خبرنامه PHP ابزاری را برای وارد کردن و صادرات آدرس های ایمیل ارائه می دهد. می توانید داده ها را از متن ساده یا فایل MS Excel وارد کنید و همچنین داده ها را به متن و فایل MS Excel صادر کنید.

  • گزارش پستی

برای هر پست، آمار دقیق تعداد نامه های ارسال شده و ارسال نشده وارد می شود. همچنین می توانید اطلاعاتی در مورد تعداد کاربرانی که ایمیل ها را باز کرده اند به دست آورید. علاوه بر این، می توانید آمار را به فایل MS Excel صادر کنید.

  • رابط وب از مدیر

برای کار و مدیریت لیست پستی، یک پنل مدیریت راحت و نسبتاً آسان در اختیار شما قرار می گیرد که از طریق رابط وب قابل دسترسی است. تعداد زیادی تنظیمات به شما امکان می دهد تا به سرعت سیستم را مطابق با نیاز خود "تیز کنید".

  • جادوگر نصب

نصب به راحتی از مرورگر وب شما راه اندازی می شود. شما باید دسترسی به پایگاه داده را وارد کرده و نصب را ادامه دهید و جادوگر نصب تمام اقدامات لازم را انجام خواهد داد.

موارد جدید در نسخه 4.1.x

نصب و راه اندازی

  • توزیع را در هر دایرکتوری در وب سایت خود از حالت فشرده خارج کنید، به عنوان مثال "/phpnewsletter" می تواند در ریشه نصب شود.
  • ویزارد نصب را اجرا کنید، برای انجام این کار، در مرورگر تایپ کنید: http://your_site/package_with_script/install/;
  • پس از مراحل نصب، دایرکتوری "/phpnewsletter/install/" را حذف کنید.

*اگر به دلایلی قادر به نصب از طریق جادوگر نصب نبودید، می توانید اسکریپت را به صورت دستی نصب کنید.

  • جداول پایگاه داده MySQL پرس و جوی SQL را از فایل dump.sql قرار دهید. انجام این کار از طریق یک رابط وب، مانند phpMyAdmin، که توسط اکثر ارائه دهندگان هاست ارائه می شود، آسان تر است.

پس از اینکه جداول را در پایگاه داده قرار دادید، فایل config/default.config.php را در هر ویرایشگر متنی باز کنید و پارامترهای اتصال به پایگاه داده MySQL را یادداشت کنید. جایی که $PNSL["config"]["db"]["host"] آدرس سرور MySQL است، $PNSL["config"]["db"]["name"] نام پایگاه داده است، $PNSL[" config "]["db"]["user"] نام کاربری است، $PNSL["config"]["db"]["passwd"] رمز عبور است. Save as config.php برای ورود به پنل مدیریت رمز 1111 را وارد کنید

تنظیمات

  • یک فرم اشتراک خبرنامه را به یک صفحه وب اضافه کنید
$url = "http://site/phpnewsletter/?task=subform""؛ $get_content = file($url)؛ $get_content = implode($get_content، "\r\n")؛ preg_match("/
(.*)<\/div>/isU، $get_content، $out)، echo $out.
  • برای صفحات وب ثابت معمولی، کد html را جایگذاری کنید:
نام
پست الکترونیک
  • پیکربندی ایمیل از طریق سرور smtp

برای ارسال نامه از طریق سرور smtp مراحل زیر را دنبال کنید. به پنل مدیریت بروید، سپس به قسمت "تنظیمات" بروید و در تب "سرور SMTP" سرور smtp، لاگین، رمز عبور و پورت سرور smtp را مشخص کنید (به طور پیش فرض 25) "روش ارسال" - سرور SMTP را انتخاب کنید.

  • راه اندازی ارسال ایمیل از طریق Mail.ru

ایمیل مدیر: [ایمیل محافظت شده]
ورود به صندوق پستی: [ایمیل محافظت شده]
رمز عبور: qwerty
سرور smtp: smtp.mail.ru
پورت smtp سرور: 25
روش احراز هویت: LOGIN

  • راه اندازی ارسال ایمیل از طریق جیمیل

ایمیل مدیر: [ایمیل محافظت شده]
ورود به صندوق پستی: [ایمیل محافظت شده]
رمز عبور: qwerty
سرور smtp: smtp.gmail.com
پورت smtp سرور: 465

روش احراز هویت: LOGIN
روش ارسال: سرور SMTP

  • تنظیم ارسال نامه از طریق ایمیل Yandex

ایمیل مدیر: [ایمیل محافظت شده]
ورود به صندوق پستی: vasyapupkin
رمز عبور: qwerty
سرور smtp: smtp.yandex.ru
پورت smtp سرور: 465
اتصال از طریق اتصال امن (SSL): بله
روش احراز هویت: LOGIN
روش ارسال: سرور SMTP
امضای DKIM را اضافه کنید

ابتدا باید یک کلید DKIM ایجاد کنید. بیایید از سرویس آنلاین http://dkim.worxware.com/createkeys.php استفاده کنیم

در قسمت "Domain" دامنه خود را و در قسمت "Identity" آدرس ایمیلی را که در تنظیمات PHP Newsletter در "E-mail" مشخص کرده اید را مشخص کنید. بعد از اینکه تمام فیلدهای فرم را پر کردید روی دکمه "ارسال" کلیک کنید و پس از آن لینکی به آرشیو zip ظاهر شود. روی این لینک کلیک کنید تا آرشیو را در رایانه خود دانلود کنید و سپس آن را باز کنید. باید شامل 4 فایل باشد: htkeyprivate (کلید خصوصی)، htkeypublic (کلید عمومی)، DNS _resource_record.txt و PHPM ailer_code_plus_instructions.txt htkeyprivate. را در سرور وب در پوشه keyprivate کپی کنید.

فایل PHPMailer_code_plus_instructions.txt را باز کنید، سپس به پنل مدیریت بروید، در بخش «تنظیمات» در برگه «گزینه‌های پستی»، در قسمت‌های «تنظیمات امضای DKIM»، مقادیر مشخص‌شده در PHPMailer_code_plusxt را پر کنید. در قسمت "Signed Domain" مقدار را از $mail- >DKIM_domain، در قسمت "Selector" از $mail->DKIM_selector، در قسمت "Keyword" از $mail->DKIM_passphrase و در "Signed ID" وارد کنید. آدرس ایمیلی را که در تنظیمات خود در "E-mail" مشخص کرده اید وارد کنید، کادر "Add DKIM signature to email header" را علامت بزنید و روی "apply" کلیک کنید.

این همش نیست. برای اینکه بتوانید اعتبار سرور فرستنده را با رکورد DNS آن تأیید کنید، باید DKIM را به رکورد txt در پیکربندی DNS اضافه کنید. برای این کار باید به کنترل پنل دامنه بروید (برای این کار باید حقوق مدیر این دامنه را داشته باشید). مقدار این رکورد از فایل DNS _resource_record.txt گرفته شده است.

P.S. برای اطلاعات بیشتر در مورد اسکریپت، به readme کد منبع مراجعه کنید.

 

شاید خواندن آن مفید باشد: