دانلود مقاله تابع Mail در PHP

Word 51 KB 18816 9
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۲,۰۰۰ تومان
قیمت: ۷,۶۰۰ تومان
دانلود فایل
کلمات کلیدی: Mail در PHP - PHP - تابع Mail
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • در این مقاله ما خواهیم دید که چگونه زبان PHP را برای ارسال ایمیل تنظیم کنیم و همچنین نحوه فرستادن ایمیلهای HTML و ایمیلهای همراه با فایل ضمیمه (Attachment) را بررسی کرد .


    قبل از اینکه به کمک PHP بتوانیم ایمیل بفرستیم باید PHP را برای این کار تنظیم کنیم .

    دقیقا مانند اینکه بخواهیم برنامه ارسال و درایمیل ( مانند Outlook ) را تنظیم کنیم .


    برای این کار هم باید سراغ فایل php.ini رفته و آن را با editor دلخواه خودتان باز کنید .

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


    در فایل php.ini در قسمتی که با ( mail function ) عنوان گزاری شده است گزینه ای دارید به نام SMTP که باید مقدار آن را SMTP ایمیلتان بگذارید مثلا mail.softhome.net
    البته در فایل php.ini تنظیمات برای سرورهای ویندوز و لینوکس را جدا در نظر گرفته و شما باید بر اساس سیستمی که استفاده میکنید چیزی شبیه زیر را داشته باشید :
    برای سیستمهای ویندوز :
    [mail function ]
    Setup for windows system ;
    SMTP = smtp.my.isp.net
    Sendmail_from = [email protected]
    و برای سیستمهای لینوکس :

    [mail function ]
    Setup for Linux system;
    Sendmail_path = /usr/sbin/sendmail-t
    Sendmail_from = [email protected]
    وقتی تنظیمات را انجام دادید وب سرور خود را restart کنید و اکنون همه چیز برای ارسال ایمیل آماده است !


    ارسال ایمیل ساده (Plain Email ) :
    حقیقتا از روشی که PHP برای ازسال ایمیل در مظر گرفته ساده تر نمی توان تصور کرد !


    در حقیقت شما می توانید ارسال ایمیل را با تنها نوشتن یک خط انجام دهید !

    مانند زیر :
    Mail('recipient @some.net','subject',Your message here.');
    خط بالا یک ایمیل را به آدرس '[email protected]' با موضوع 'subject' و Your message here.' , به عنوان متن نامه ارسال می کند .


    همانطور که مشاهده کردید PHP ارسال ایمیل را بسیار ساده کرده است .

    ولی چندین راه حل پیشرفته و جود دارد که به ما این امکان را می دهد که ایمیلهای HTML و ایمیلهای همراه با فایل ضمیمه بفرستیم .


    در این مقاله ما خواهیم دید که چگونه زبان PHP را برای ارسال ایمیل تنظیم کنیم و همچنین نحوه فرستادن ایمیلهای HTML و ایمیلهای همراه با فایل ضمیمه (Attachment) را بررسی کرد .

    قبل از اینکه به کمک PHP بتوانیم ایمیل بفرستیم باید PHP را برای این کار تنظیم کنیم .

    برای این کار هم باید سراغ فایل php.ini رفته و آن را با editor دلخواه خودتان باز کنید .

    در فایل php.ini در قسمتی که با ( mail function ) عنوان گزاری شده است گزینه ای دارید به نام SMTP که باید مقدار آن را SMTP ایمیلتان بگذارید مثلا mail.softhome.net البته در فایل php.ini تنظیمات برای سرورهای ویندوز و لینوکس را جدا در نظر گرفته و شما باید بر اساس سیستمی که استفاده میکنید چیزی شبیه زیر را داشته باشید : برای سیستمهای ویندوز : [mail function ] Setup for windows system ; SMTP = smtp.my.isp.net Sendmail_from = [email protected] و برای سیستمهای لینوکس : [mail function ] Setup for Linux system; Sendmail_path = /usr/sbin/sendmail-t Sendmail_from = [email protected] وقتی تنظیمات را انجام دادید وب سرور خود را restart کنید و اکنون همه چیز برای ارسال ایمیل آماده است !

    ارسال ایمیل ساده (Plain Email ) : حقیقتا از روشی که PHP برای ازسال ایمیل در مظر گرفته ساده تر نمی توان تصور کرد !

    در حقیقت شما می توانید ارسال ایمیل را با تنها نوشتن یک خط انجام دهید !

    مانند زیر : Mail('recipient @some.net','subject',Your message here.'); خط بالا یک ایمیل را به آدرس '[email protected]' با موضوع 'subject' و Your message here.' , به عنوان متن نامه ارسال می کند .

    همانطور که مشاهده کردید PHP ارسال ایمیل را بسیار ساده کرده است .

    قبل از هر چیز این نکته را متذکر شوم که اگر mail system ی که شما در php.ini تعریف کرده اید ایمیل ارسالی را برگشت (reject) دهد { برای مثال اگر در قسمت TO آدرس یک ایمیل درست را ننوشته باشیم } این تابع یک پبغام خطا در مرورگر کاربر نمایش خواهد داد ، دقیقا مانند اتفاقی که در مورد سایر تابعهای PHP می افتد .

    اما هماتطور که می دانید ما می توانیم با نوشتن علامت @ قبل از تابع از نوشتن پیغام خطا در مرورگر کاربر جلوگیری کنیم .

    اگر این نکته را با چیزی که تابع mail برمی گرداند ( true یا false بسته به اینکه ایمیل ارسال شده باشد یا خیر ) ترکیب کنیم کد زیر را خواهیم داشت : If @mail($to,$subject, $message )) { echo('Mail sent successfully .'); } else { echo('Mail sent successfully .'); } به یاد داشته باشید که ارسال ایمیل نمی تواند تضمینی بر دریافت آن در مقصد باشد.

    برای مثال اگر یک ایمیل به آدرس [email protected] بفرستیم و فرض بر این باشد که این آدرس اصلا وجود ندارد ، این آدرس برای تابع mail قابل قبول است و true را برمی گرداند ولی مطمئنا این ایمیل از بین می رود چون کسی صاحب آن نیست ، پس در این مورد کاری از دست PHP بر نمی آید .

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

    برای مثال : mail('recipient 1 @some.net,[email protected]', 'An email to two people ' , 'message goes here , ' ); خب ، تا حالا اصول قرستادن یک ایمیل را بررسی کردیم ، اما بپردازیم به اصل مطلب و mail header ها و اینکه چه کارهایی می توانیم با آنها انجام دهیم !

    ایمیلهای HTML و header ها : اکنون شما می توانید از اسکریپتهای PHP خود ایمیل بفرستید ، چقدر جالب !

    من مطمئنم وقتی یاد بگیرید که چگونه ایمیلهای HTML بفرستید احساس قدرت بیشتری خواهید کرد !

    پس ادامه می دهیم ؛ برای اینکه ایمیلهای HTML را درک کنید ابتدا باید header های یک ایمیل را بشناسید .

    هر ایمیل دریافتی از دو قسمت تشکیل شده است : header ها و متن نامه (message body) .

    در زیر نمونه یک ایمیل ساده که برنامه ایمیل شما دریافت کرده است را می بینیم : Return-path : Delivered-To:[email protected] Received:…several lines like this … From : Sender To: YOU Subject: A Simple Message Date: Mon, 11 Feb 2002 16:08:19 -0500 Organization : Sender's Company X-Mailer : Microsoft Outlook , Build 10.02616 Hi there !

    Is this thing on ?

    تمام خطوط بالای خط سفید header ها هستند .

    در واقع یک ایمیل می تواند بیشتر از اینها هم header داشته باشد ولی برای اختصار در این مثال چند مورد اصلی را ذکر کرده ام .

    همانطور که می بینید هر خط از header های با نام آن header شروع می شود (From To :, Subject :, date :, stc) و در ادامه آنها هم چند مقدار (value) قرار گرفته است .

    بیشتر header ها استاندارد شده هستند و یک مفهوم خاص برای mail program یا mail server ی که مسئول رساندن ایمیل ها به ما هستند ، دارند .

    اما header های غیر استاندارد هم وجود دارند و مشخصه آنها این است که با –X شروع شوند ( مانند : X-Mailer که اغلب برای نشان دادن برنامه ای که برای ارسال ایمیل استفاده شده است به کار می رود ) نکته : اگر مقدار (value) یک header نیاز به بیش از یک خط اضافه باید با یک فاصله از سر خط شروع شوند .

    یک مثال در این زمینه را در قسمت بعد خواهیم دید .

    وقتی که برنامه ایمیل شما به خط سفید (balnk line ) رسید می فهمد که header های نامه تمام شده و از این به بعد محتویات متن نامه است که باید نشان داده شود .

    در مثال ما ،‌ متن نامه همان خط آخر است .

    تابع mail در PHP به شما اجازه می دهد که header های مورد نظر خودتان را به نامه اضافه کنید و PHP آنها را به header هایی که خود به صورت اتوماتیک تولید می کند اضافه می کند .

    برای نمونه در مثال پایین یک header با عنوان X-mailer: به نامه اضافه کرده ایم که PHP 4.x را به عنوان برنامه فرستنده ایمیل معرفی می کند .

    Mail('[email protected]','subject',Your message here.', 'X-mailer: PHP 4.x'); پرامتر چهارم که یک پرامتر اختیاری است اغلب برای نشان دادن From ایمیل استفاده می شود ( علاوه بر From ی به صورت پیش فرض در php.ini تعریف کرده ایم ) .

    پس اجازه بدهید که یک header از نوع From به نامه اضافه کنیم تا این کار را برای ما انجام دهد :‌ Mail('[email protected]','subject',Your message here.', "From: [email protected]\nX-mailer: PHP 4.x"); با توجه به اینکه header ها هر کدام در یک خط باید قرار داشته باشند پس ما باید هر دو خط را با \n از هم جدا کنیم ( که این خود نشان دهنده این است که ما باید پارامتر چهارم را درون " " قرار دهیم برای اینکه PHP به کاراکترهای خاص نظیر \n اگردرون ، ، قرار داشته باشند توجه نمی کند ).

    Header های دیگری هم هستند که نام فرستنده و گیرنده نامه را قبل از آدرس ایمیل آنها می نویسد ؛ به این صورت : name .

    مثال : Mail('[email protected]','subject',Your message here.', "To: The Receiver \n".

    "From : The sender \n".

    "X-Mailer:PHP 4.x"); توجه داشته باشید که برای اضافه کردن نام به قسمت TO ، نمی توانیم نام را در پارامتر اول جا دهیم و تنها راه ممکن این است که یک header با عنوان TO : به header ها اضافه کنیم .

    Header های CC: و Bcc: هم وجود دارند که مورد استفاده آنها حتما خودتان می دانید : Mail('[email protected], [email protected], [email protected]', 'Subject', 'Your message here.', "To: The Receiver \n" .

    "From: The sender n" .

    "cc: Interested \n" .

    "Bcc: Me Too \n".

    "X-mailer: PHP 4.x"); فقط توجه داشته باشید که آدرس ایمیل تمام گیرنده ها به ترتیب To و cc و Bcc در پارامتر اول نوشته شده است ، این نکته در جایی ذکر نشده است ولی من با تکیه بر تجربیات شخصی خودم به این نکته پی بردم ام که اگر می خواهید ایمیل به تمام گیرنده ها برسد باید این کار را بکنید (مخصوصا در سرورهای ویندوز که زیادی حساس هستند .) اخطار باگ : دو باگ برای تابع mail در PHP وجود دارد که من اخیرا در PHP نسخه 4،1،0 دیده ام ؛ اول اینکه هدر Cc : باید اینگونه تایپ شود : :cc یا :CC یعنی هر دو حروف بزرگ یا هر دو کوچک ...

    ترکیبی از حروف کوچک و بزرگ قاعد تا باید کار کند ولی اینطور نیست !

    دوم اینکه در سروهای ویندوز هدر :Bcc درست کار نمی کند .

    همانطور که می دانید هنگام ارسال نامه ، هدر :Bcc باید از بین header ها حذف شود ، ولی اینگونه ایمیل می تواند هدر :Bcc را در بین هدرها ببیند !

    خب حتما سوال می کنید که این همه چه ربطی به فرستادن ایمیل های HTML داشت ؟‌ جواب : چند header خاص هستند که باعث می شوند برنامه دریافت کننده ایمیل آن را به عنوان ایمیل HTML بشناسند .

    mail('[email protected]','subject', 'Your messagehere.', "To: The Receiver \n" "From : The Sender \n".

    "MIME-Version : 1.0 \n".

    "Content-type: text/html: charset=iso-8859-1");

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

درفصل چهارم برای بهبود کارایی طراحی وب سایت با نرم افزا joomla تغییرات واصلاحاتی درانواع منوها وتنظیمات شان آموزش داده می شود ،همچنین مدیریت محتواوایجاد انواع محتوا درآن بحث شده است. شما بعدازمطالعه این فصل،مطالب زیررا یاد خواهید گرفت: تغییر قالب ها پیکربند ی administaration انواع منوها مثل help –site-manager و... ایجاد محتوای جدید راه اندازمنو و... این فصل به بررسی روش های ...

چنانچه می خواهید برای موسسه خود سایت ایجاد نمایید اولین قدم ثبت یک نام برای سایت می باشد به این نام که به صورت انحصاری ثبت می گردد دامنه یا Domain می گویند هر نام از دو قسمت تشکیل شده است که با نقطه از یکدیگر جدا می شوند قسمت اول که قسمت اصلی نام بوده و می تواند نام موسسه یا نام محصول ویا هر نام دلخواه دیگر (به شرط آنکه قبلا توسط شخص دیگری ثبت نشده باشد) باشد و قسمت دوم که شناسه ...

: در این درس می‌آموزیم که با پورت ۲۵ (SMTP) ارتباط برقرار کنیم و از آن برای ارسال Fake Mail استفاده کنیم. ◊ پورت ۲۵ چیست؟ پورت ۲۵ برای ارسال E-mail به‌کار می‌رود. این پورت از پروتکل SMTP برای این کار استفاده می‌کند. نکته مهم آن است که این پروتکل توانایی خواندن E-mail را ندارد و فقط می‌تواند E-mail بفرستد. حالا سوالی که پیش می‌آید که چه برنامه‌هایی روی سرور پورت ۲۵ را باز می‌کند؟ ...

چکیده این پروژه برنامه ساخت یک وب سایت شخصی برای استاد است . که شامل صفحات ایستا و پویای وب می باشد . برنامه نویسی اسیتای آن توسط نرم افزار Dreamweaver و زبان HTML و برنامه نویسی پویای آن توسط زبان PHP انجام گرفته است . بانک اصلاعاتی مرتبط با آن MYSQL می باشد . امکانات این وب سایت شامل موارد زیر می باشد : 1 ) اطلاعات شخص استاد برای آشنایی بیشتر دانشجویان با سوابق استاد خود . 2 ) ...

هانگ نگیون و ولادیک کرینویچ – قسمتی از علوم وابسته به ریاضیات و دانشگاه واحد مکزیک email hunguyen @nmsu .edu has Cruces قسمت علوم کامپیوتر ، دانشگاه تکزاس : email valadik @ cs .vtep.edu EI Paso خلاصه : در خیلی از طراحی موقعیت های حقیقی چندین ضابطه مختلف وجود دارد که ما می خواهیم آنها را بهینه سازی کنیم و این ضوابط اغلب در تضاد با یکدیگر هستند . به طور رایج ، چندین موقعیت بهینه ...

تار جهان گستر (Word Wide Web) دنیای عجیبی است که تکنولوژی های مربوط به آن ، اغلب بدون پشتیبانی کافی ، عرضه می شوند و کاربران این تکنولوژی ها ، همه روزه با واژگان جدیدی برخورد می کنند که باعث سر درگمی آنها می شوند. برای نمونه می توان به رشد برنامه های Open Source اشاره کرد ( برنامه هائی که می توان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد نمود) متداول ترین این برنامه ...

پروژه پایان دوره کارشناسی روش تحقیق: با توجه به اینکه موضوع تحقیق کلاهبرداری و بررسی شیوه و شگرد ها و راه های مقابله با آن است در مورد شناخت جرم کلاهبرداری و این که چگونه یک جرم به نام کلاهبرداری محقق می‌شود از روش کتابخانه ای استفاده شده است ولی در مورد بررسی شگردها و شیوه ها چون تاکنون هیچ منبع آموزشی به صورت کامل وجود ندارد بیشتر از روش تحقیقاً میدانی از افسران اداره مبارزه ...

ارائه سرویسهای جدیدی که قبلا نبوده و اساسا توسط مراکز امکان ارائه آنها وجودنداشته و اگر مراکز آن را ارائه می دادند هزینه زیادی در بر داشته -SET: قابلیت ارائه سرویسهای جدید را دارد زمانی که شماره گرفته می شود این شماره به صورت پالسهایی دی کد می شود و به مرکز ارسال می شود و در مرکز بررسی می شود که این کد با چه مرکزی یا منطقه ای کار دارد -PPS: یک Accsess Code به شماره 900511 از هر ...

برنامه هائئ که درزمینه DATA BASE کار می کنند به دو قسمت تقسیم می شوند. یک قسمت لایه بیرونی یا USER INTERFACE (برنامه ای است که معمولا با برنامه های VISUALای نوشته می شود.) قسمت دیگر خود DATABASE است که بوسیله یکی از زبانهای بانکهای اطلاعاتی (که برپایه بانکهای اطلاعاتی رابطه ای (RDBMS) نوشته می شود. قسمت اول یاAPPLICATION به وسیله زبانVISUAL BASIC ساخته می شود که وظیفه نما یش ...

ثبت سفارش
تعداد
عنوان محصول