PHP - somo la 43: Jinsi ya kutuma email kwa kutumia PHP


image



Katika somo hili utajifunza jinsi ya kutuma email kwa kutumia email() function ya PHP. Hii ni njia rahisi zaidi ya kutuma email. Ila hufanya kazi kwenye hosting.



KUTUMA EMAIL:

Katika somo hili tunakqenda kujifunza jinsi ya kutuma email kwa kutumia php. Kuna njia kama tatu za kutuma email kwa kutumia php. Ila katika somo hili .nitakufundisha njia moja ambayo ni kwa kutumai mail().

 

Njia hii ni nyepesi, ila itahitaji uwe umeshahost. Haifanyikazi kwenye localhost. Hivyo hakikisha unahost faili lako live ndipo liweze kufanya kazi.

 

Function hii ina sehemu kuu tano yaani parameta 5 ambazo ni:-

  1. To

  2. From

  3. Header

  4. Message

  5. Subject

 

To hii itabeba email ya mpokeaji wa hiyo email. From hutumika kubeba email ya mtumaji. Header hii hubeba meta information.kama wapi ukumbe umetoka, na wapi utaweza ku reply. Massage hapa ndipo ambapo utaandika meseji yako. Subject hubeba kicha cha habari. 

 

Mfano:

mail($to,$subject,$message, $headers)

  1. Wacha tuone jinsi ya kutuma plain text email:

<?php

$from = "non-reply@bongoclass.com";

$to = "josh@example.com";

$subject = "greetings from Bongoclass";

$message = "haloo karibu bongoclass";

$headers = "From:" . $from;

if(mail($to,$subject,$message, $headers)) {

   echo "Email imetumwa";

} else {

   echo "Email imeshindwa kwenda";

}

?>

 

Hapo kwenye josh@example.com utaweka emaili ya unayemtumia na hapo kwenye non-reply@bongoclass.com  utaweka emaili ya mtumaji. Nimrtumia if() ili kcheki kama ujumbe umetumwa ama laa. Kama umetumwa basi italeta ujumbe kuwa email imetuwa.      

 

  1. Jinsi ya kutuma html

Sasa kama unataka kuboresha muonekano wa meseji yako jinsi itakavyoonekana na ukataka kutumia style, wama kutumia html hapa nitakwenda kukujuza. Html zitatakiw akukaa hapo kwenye ujumbe. Ila changamoto ni kuwa kwa code zetu hapo juu utatuma html file kama text file hivyo haitakuwa na muonekano wa ujumbe bali ni code.

 

Ili kutatuwa tatizo hilo tutatakiwa kuongeza metadata info kwenye header. Tutakwenda kutumia utf-8. $headers = "From:" . $from .

   "Content-type:text/html;charset=UTF-8" . " ";

Kisha tutaweka html code kwenye message. Hivyo faili letu litaonekana hivi:-

<?php

$from = "non-reply@bongoclass.com";

$to = "josh@example.com";

$subject = "greetings from Bongoclass";

$message = "<html>

<head>

   <title>Karibu Bongoclass</title>

</head>

<body>

<h1>tunakutakia siku njema</h1>

<table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;">

   <tr>

       <th>Web:</th><td>Bongoclass</td>

   </tr>

   <tr style="background-color: #e0e0e0;">

       <th>Email:</th><td>mafunzo@bongoclass.com</td>

   </tr>

   <tr>

       <th>url:</th><td><a href="http://www.bongoclass.com">www.bongoclass.com</a></td>

   </tr>

</table>

</body>

</html>";

$headers = "From:" . $from ." ".

   "Content-type:text/html;charset=UTF-8";

if(mail($to,$subject,$message, $headers)) {

   echo "Email imetumwa";

} else {

   echo "Email imeshindwa kwenda";

}

?>

 

2. Kutuma ujumbe kutoka kwenye html file

Sasa endapo ujumbe wako upo kwenye faili la html, na unataka kutuma faili kama lilivyo ili huko ambape maudhui ya faili hilo. Kufanya hivi tutatumia zile function za mafaili kama tulivyojifunza kwenye masomo yaliotangulia.

 

Sasa tutatengeneza html file kisha tutaliita mail.html

mail.html

<html>

<head>

   <title>Karibu Bongoclass</title>

</head>

<body>

<h1>tunakutakia siku njema</h1>

<table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;">

   <tr>

       <th>Web:</th><td>Bongoclass</td>

   </tr>

   <tr style="background-color: #e0e0e0;">

       <th>Email:</th><td>mafunzo@bongoclass.com</td>

   </tr>

   <tr>

       <th>url:</th><td><a href="http://www.bongoclass.com">www.bongoclass.com</a></td>

   </tr>

</table>

</body>

</html>

Tutatumia foprn() ili kufunguwa file, kisha fread() ili kusoma faili kisha filesize() ili kupata ukubwa wa faili tuweze kulisoma lote. Hivyo code zitakuwa hivi:-

<?php

$file = fopen("mail.html", "r") or die("Unable to open file!");

$from = "non-reply@bongoclass.com";

$to = "josh@example.com";

$subject = "greetings from Bongoclass";

$message = fread($file,filesize("mail.html"));

$headers = "From:" . $from ." ".

   "Content-type:text/html;charset=UTF-8";

if(mail($to,$subject,$message, $headers)) {

   echo "Email imetumwa";

} else {

   echo "Email imeshindwa kwenda";

}

?>

 

 

Mpaka kufika hapa tumemaliza somo letu la kutuma Email. Muendelezo wa somo hili utaupata kwenye course ya Advanced php. Kabla ya kufunga somo wacha nikupe bonus. Nakuwekea code za kutuma attachment, mfano unataka kutuma email yenye pdf. Hapo kwenye jina-la-faili.pdf weka jina la faili unalotuma. 

 

Code hizi nimezitoa kwnye web hii https://code-boxx.com/send-attachment-php-mail/ wakati nilipokuwa naandaa somo. Kwa kuwa sikupanga kufundisha kipengele hiki, ila kwa kuwa natambuwa umuhimu wake, ndio maana nikaamuwa kukuletea code hizo huwenda zikakusaidi.

 

<?php

// (A) EMAIL SETTINGS

$mailTo = "example@gmail.com";

$mailSubject = "Test Attachment";

$mailMessage = "<strong>Test Message</strong>";

$mailAttach = "jina-la-faili.pdf";

 

// (B) GENERATE RANDOM BOUNDARY TO SEPARATE MESSAGE & ATTACHMENTS

// https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html

$mailBoundary = md5(time());

$mailHead = implode(" ", [

   "MIME-Version: 1.0",

   "Content-Type: multipart/mixed; boundary="$mailBoundary""

]);

 

// (C) DEFINE THE EMAIL MESSAGE

$mailBody = implode(" ", [

   "--$mailBoundary",

   "Content-type: text/html; charset=utf-8",

   "",

   $mailMessage

]);

 

// (D) MANUALLY ENCODE & ATTACH THE FILE

$mailBody .= implode(" ", [

   "",

   "--$mailBoundary",

   "Content-Type: application/octet-stream; name="". basename($mailAttach) . """,

   "Content-Transfer-Encoding: base64",

   "Content-Disposition: attachment",

   "",

   chunk_split(base64_encode(file_get_contents($mailAttach))),

   "--$mailBoundary--"

]);

 

// (E) SEND

echo mail($mailTo, $mailSubject, $mailBody, $mailHead)

   ? "OK" : "ERROR" ;

 

NB: unaweza kutumia html form kuandika ujumbe unaotaka kutuma, kisha function ya mail() ikatumika kutuma taarifa hizo.

 

MWISHO:

Tukutane somo linalofuata ambalo tutajifunza jinsi ya kutuma sms kwa kutumia php. Somo hili ni mujimu kwa wale ambao wanataka kutengeneza OTP. somo la kutuma email na somo lijalo ni masomo muhimu kwa ambao wanataka kujuwa jinsi ya kutuma email kwa ajili ya ku rcover password ama kutuma OTP



Je! umeipenda hii post?
Ndio            Hapana            Save post

Imeandikwa na Rajabu Terehe 2023-10-19 Download PDF Share on facebook WhatsApp

RELATED POSTS

picha

Katika somo hili utajifunza jinsi ya kutumia filter_var() function kwa
picha

Katika somo hili utajifunza jinsi ya kukusanya taarifa ambazo watu
picha

Katika somo hili utakwenda kujifunza jinsi ya kuandika function yako
picha

Katika somo hili utakwenda kujifunza jinsi ya kuandika constant kwenye
picha

Katika somo hili utajifunza jinsi ya kufanya sanitization kwenye user
picha

Katika somo hili tutakwenda kujifunza kuhusu array kwenye php, na
picha

Katika somo hili utakwenda kujifunza kuhusu static method na inavtotumika
picha

Katika somo hili utakwenda kujifunza kuhusu class inheritance kwenye object
picha

Katika somo hili utakwenda kujifunza kuhusu aina za loop DO,
picha

Katika somo hili utakwenda kujifunza jinsi ya kutumia PHP kutengeneza
picha

Katika somo hili utajifunza jinsi ya kuingiza data kwenye dtabase
picha

Katika somo hili utajifunza jinsi ya ku connect database, kwa
picha

Katika somo hili utakwenda kujifunza jinsi ya kufanya encryption na
picha

Katika somo hili utajifnza jinsi ya kufanya prepared statement kama
picha

Huu ni mwendelezo wa mafunzo ya PHP na hapa tunaaza
picha

Katika somo hili utakwenda kujifunza kuhusu access modifier ili kuweza