با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته با عبارت های منظم یا regular expression آشنا شدیم و کار با آن را آموختیم؛ در این جلسه که آخرین جلسه از دوره آموزشی پرل است با آموزش ارسال ایمیل در پرل همراه شما هستیم.
می توان به سادگی و با استفاده از نرم افزار sendmail اقدام به ارسال ایمیل در پرل نماییم.
اگر از سیستم لینوکس/ یونیکس استفاده می کنید می توانید به راحتی از ابزار sendmail که در پرل وجود دارد برای ارسال ایمیل استفاده نمایید.
در پرل یک نوع اسکریپت ساده وجود دارد که با استفاده از آن می توان به یک ID ایمیل اقدام به ارسال ایمیل کرد.
برای این کار کافیست مطمئن شوید که مسیر داده شده برای ابزار sendmail صحیح است.
البته این مسیر ممکن است در دستگاه لینوکس/ یونیکس شما متفاوت باشد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #!/usr/bin/perl $to = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; open(MAIL, "|/usr/sbin/sendmail -t"); # Email Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; # Email Body print MAIL $message; close(MAIL); print "Email Sent Successfully\n"; |
در واقع، اسکریپت فوق یک اسکریپت ایمیل مشتری است که پیش نویس ایمیل و ارائه آن به سرور در یک محل روی دستگاه لینوکس / یونیکس شما صورت می گیرد.
به خاطر داشته باشید که این اسکریپت مسئول ارسال ایمیل به مقصد واقعی نخواهد بود.
بنابراین باید مطمئن شوید که سرور ایمیل به درستی پیکربندی شده و بر روی دستگاه شما اجرا می شود تا بتوانید ایمیل را به شناسه ایمیل داده شده ارسال کنید.
اگر می خواهید ایمیل های فرمت شده HTML را با استفاده از sendmail بفرستید، کافی است کهContent-type: text/html\n را در بخش هدر ایمیل به صورت زیر اضافه کنید –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/usr/bin/perl $to = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = '<h1>This is test email sent by Perl Script</h1>'; open(MAIL, "|/usr/sbin/sendmail -t"); # Email Header print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; print MAIL "Content-type: text/html\n"; # Email Body print MAIL $message; close(MAIL); print "Email Sent Successfully\n"; |
اگر بر روی دستگاه ویندوز کار می کنید، پس از دسترسی به ابزار sendmail محروم خواهید شد.
اما با استفاده از ماژول MIME: Lite perl، متنی را برای نوشتن ایمیل خود خواهید داشت.
می توانید این ماژول را از MIME-Lite-3.01.tar.gz دانلود کنید و آن را در هر دو دستگاه ویندوز یا لینوکس / یونیکس نصب نمایید. برای نصب آن، مراحل ساده زیر را دنبال کنید –
1 2 3 4 5 | $tar xvfz MIME-Lite-3.01.tar.gz $cd MIME-Lite-3.01 $perl Makefile.PL $make $make install |
اکنون شما آماده ارسال ایمیل خود با اسکریپت های ساده زیر هستید.
در زیر اسکریپتی وجود دارد که بر نحوه ارسال صحیح ایمیل به ID ایمیل نظارت می نماید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; $msg = MIME::Lite->new( From => $from, To => $to, Cc => $cc, Subject => $subject, Data => $message ); $msg->send; print "Email Sent Successfully\n"; |
اگر می خواهید ایمیل های فرمت شده HTML را با استفاده از sendmail بفرستید، کافی است کهContent-type: text/html\n را در بخش هدر ایمیل به صورت زیر اضافه کنید؛
در زیر اسکریپتی وجود دارد که بر نحوه ارسال صحیح ایمیل با فرمت HTML نظارت می نماید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = '<h1>This is test email sent by Perl Script</h1>'; $msg = MIME::Lite->new( From => $from, To => $to, Cc => $cc, Subject => $subject, Data => $message ); $msg->attr("content-type" => "text/html"); $msg->send; print "Email Sent Successfully\n"; |
اگر می خواهید یک ضمیمه را ارسال نمایید در آن صورت اسکریپت زیر می تواند شما را در انجام کار یاری می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/usr/bin/perl use MIME::Lite; $to = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $subject = 'Test Email'; $message = 'This is test email sent by Perl Script'; $msg = MIME::Lite-=>new( From => $from, To => $to, Cc => $cc, Subject => $subject, Type => 'multipart/mixed' ); # Add your text message. $msg->attach(Type => 'text', Data => $message ); # Specify your file as attachement. $msg->attach(Type => 'image/gif', Path => '/tmp/logo.gif', Filename => 'logo.gif', Disposition => 'attachment' ); $msg->send; print "Email Sent Successfully\n"; |
با کمک روش ()attach می توانید هر ضمیمه ای را که می خواهید به ایمیل تان پیوست نمایید.
اگر دستگاه شما یک سرور ایمیل را اجرا نکند، می توانید از هر سرور ایمیل دیگر موجود درremote location استفاده کنید.
برای استفاده از هر سرور ایمیل دیگر باید ID، گذرواژه، URL و … آن را داشته باشید.
هنگامی که همه اطلاعات لازم را داشتید، باید این اطلاعات را در روش ()send به صورت زیر ارائه دهید.
1 | $msg->send('smtp', "smtp.myisp.net", AuthUser=>"id", AuthPass=>"password" ); |
می توانید با سرپرست سرور ایمیل خود تماس بگیرید
این شخص به شما کمک کند که از اطلاعات ارائه شده در بالا استفاده کنید.
اگر شناسه کاربری و رمز عبور در دسترس نباشد، سرپرست شما می تواند آن را در عرض چند دقیقه برایتان ایجاد کند.
در آخرین جلسه از دوره آموزش پرل آموزش کار با آموزش ارسال ایمیل در پرل آشنا شدید.
امیدواریم این دوره آموزشی برای علاقمندان این دوره مفید فایده واقع شده باشد.
یادگیری همچنان ادامه دارد …
با پی وی لرن همراه باشید.