PHP somo la 68: Jinsi ya kutuma email kwa kutumia PHPMailer

Katika somo hili utakwenda kujifunza jisniya kutuma email kwa kutumia PHPMailer kwenye project ya PHP. Katika somo hili tutakwend akutuma email kwa kutumia localhost.

JINSI YA KUTUMA EMAIL KWA KUTUMIA PHPMailer

PHPMailer ni moja ya library za PHP za free ambazo hutumika katika kutuma email. Unaweza kuitumia njia hii kwa namna yeyote ya email hata kwa email marketing. Njia hii ni mbadala mzuri wa mail() function ambayo ni built in kwenye PHP. PHPMailer ni salama zaidi na inakupa uwanja mpana zaidi wa kutuma email. Yenyewe inatumia SMTP protocal. Kwa kutumia phpmailer unaweza kutuma email kutoka kwenye localhost moja kwamoja.

 

Ili uweza kutumia PHPMailer inatakiwa uwe na vitu vifuatavyo:-

  1. Uwe na SMTP server
  2. Uwe na library ya PHPMailer kwenye project yako ama utumie composer.
  3. Uwe na email ya mpokeaji.
  4. Uwe na domain ambayo imesajiliwa na smtp server.

 

Jinsi ya kujisajilikwenye smtp server za free:

Kuna server nyingi za free. Hapo zamani tulikua tukitumiagmail kwa urahisi tu. ila kwa sasa gmail ina changamoto kidogo kuliko zamani ilivyokuwa ikitumika. Hata hivyo bado unaweza kuitumia katika somo hili nitakuelekeza free smtp server ambayo ndio tutakwenda kuitumia.

 

SMTP server ni nini

SMTP ni kifupisho cha maneno Simple Mail Transfer Protocol. Kama ambavyo HTTP, HTTPS, FTP basi na SMTP nayo ni ojakatika hizi protocal. Server hii inahsika na kutuma email na kupokea tu. kwahiyo ni ni sever inayohusu maswala ya email tu.

 

Ina maana kila unapopokea email ama kutuma basi utakuwa unatumia server hii. Gmail wanatumia server hizi kutuma na kupokea email. Katika somo hili na yanayofuaata hautotumia gmail smtp. Ila tutatumia mailtrap. Ilikuweza kujisajili na mailtrap kwa huduma ya free smtp fuata hatuwa hizi:-

  1. Kwanzaingia kwenye website hii mailtrap.io
  2. Kisha funguwa akaunt. Unaweza kuanza free. Hapa utapewa email 3000.
  3. Baada ya kujisajili na ku login, utathibitisha usajili kwa kutumia email watakayokutumia.
  4. Baada ya kulogin, kwenye dashboard nenda palipoandikwa Sending Domain
  5. Kisha bofya palipoandikwa demomailtrap.com hii ni domain ya kufanyia majaribio. Utasajili domain yako utakapokuwa tayari
  6. Bofya palipoandikwa integradition
  7. Utaona hapo kuna card mbili moja ni transaction stream na ya pili ni Bulk Stream. Hiyo ya kwanz ani kwa ajili ya kutuma email kwa mtu mmoja na hiyo ya pili ni kwa kundi la watu hasa hutumika wenye emailmarketing. Kwa ajili ya mafunzo tutaanza na hiyo ya kwanza ya transaction
  8. Bofya integrade
  9. Utaletewa information muhimu kwa ajili ya huduma hii

  1. Chini kidogo utaonakunaorodha ya language,chaguwa php kisha chaguwa PHPMailer, utaona hapo information muhimu umepewa,

 

Mpaka kufika hapo tayari tumepata taarifa muhimu ambazo ni host, port, username  na pasword.


 

Jinsi ya ku install PHPMailer:

Kuna njia mbili za kutumia PHPMailer a,bazo ni:

  1. Kwakutumia composer
  2. Kwa kudownload PHPMailer kutoka github.

 

NB: PHPMailer nilibrary imeandikwa kwa OOP hivyo itakuwa vizuri zaidi ukawa na uwelewa kuhusu class na object zinavyotumikakwenye OOP.

 

  1. Kwa kutumia composer

Kwanza download composer kwenye system yako. Ingia https://getcomposer.org/ kisha download.njia rahisi download composer.exe https://getcomposer.org/Composer-Setup.exe kisha fuata maelekezo kuinstall. 

 

Utatakiwa ku select version ya PHP unayotumia. PHP utaipata kwenye faili lako la locahost. Mfano kama unatumia xamp ingia kwenye faili la xamp. Kisha bofya PHP, kisha bofya php.exe. Baada ya hapo utaweza kuendelea na maelekezo.

 

Baada ya hapo utatakiwa ku instal composer kwenye project yako kwa ku install vendor. Tumia command composer init kisa fata maelekezo.kwa mfano utajaza packagename, description, athor, katika minimal stability weka stable, package type weka library na katikalicense weka MI. pia utaulizwa kama unahitaki kuweka Dependencies hapo utaweka yes kisha utajaza PHPMailer. Kisha utachaguwa namba ya toleo unalolitaka.

 

Baada ya hapo utadownload na kumaliza mchakato. Tafadhali tumekuandalia video ya somo hili kwenye channel yatu ya tehama-tz kwenye mtandao wa youtube.

 

  1. Kwa ku download library moja kwa moja kutoka github. 

Kw akuwa PHPMailer ni free library code zake utazipata github. Fuata link hii https://github.com/PHPMailer/PHPMailer kisha extract folder baada ya ku download. Kisha weka kwenye project yako. Unweza kulipadili jina. Kwa kimi nimeliita PHPMailer kama picha hapo chini inavyoelekeza.  Kama tumekwenda vizuri project yako itakuwa na mafaili haya


 

JINSI YA KUTUMA EMAIL KWA KUTUMIA PHPMailer:

Kwanz atutaanza ku includePHPMailerkwenye project yetu. Tutaanza na njia ya kwanza ya kutumia composer. Ikiwa ulisha installcomposer kwenye projectyako ina maana kuna folder linaitwa vendor litakuwa linaonekana kwenye project yako. Angalia picha hapo juu.

 

Sasathengeneza faili liite index.php.unaweza pia kulipa jina lolote. Kisha kuna class 3 tutatakiwa tuzitumie kwenye PHPMailer. Hivyo juu kabisa ya faili lako weka code hizi

use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\SMTP;

use PHPMailer\PHPMailer\Exception;

 

Hatuwa inayofuata ni ku include composer autoload.php. Hii itatuwezesha sisi kutumia library ya PHPMailer hata bila ya kuiweka kwenye project yetu.  


 

Hatuwa inayofuata ni kutengeneza object ya PHPMailer. Weka mstari huu wa code

$mail = new PHPMailer(true);

 

Hatuwa inayofuata ni kuset configuration hizi ni setting mihimu kwa ajili ya zoezi la kutuma email. Tutahitajika kuunganisha project yetu na server ya SMTP. hii ni kama vile unavyounganisha kwenye server ya database. Utahitaji host, username, password, port, security authenticate. Taarifa hizi utazipata kwenye smtp server. Rejea maelekezo hapo juu:

 

$mail->isSMTP();

$mail->Host = 'live.smtp.mailtrap.io';

$mail->SMTPAuth = true;

$mail->Username = 'api';

$mail->Password = 'af57db7*****65d';

$mail->SMTPSecure = 'tls';

$mail->Port = 587;

 

Utaona hapokwanza tuneamza na kuthibitisha kuwa server ni ya smtp.ndio maana tumetumia isSMTP. Baada ya hapo host wetu wa hiyo server ni live.smtp.mailtrap.io   kisha tukaweka kuwa auth ni true kumaanisha kuwa bila ya kutumia password na username huwezi kutuma email. Kisha username na password utaipata kwenye smtp server yetu. Kisha security iliyotumikani tls hiini mbadala wa SSL kwenye email. Tls ina maana TRANSPORT LAYER SECURITY na ssl ina maana SECURE SOCKET LAYER.

 

Hatuwa inayofuata ni kuweka emaill ya anayetuma, na jina lake. Yaani email yako na jina lako. Kumbuka kutumia email kutoka kwenye domain ambayo imethibitishwa. Kama hujaweka domai yako kwenye smtp tunaotumia tumia domain ya demo. Mfano info@demomailtrap.com Hii ni free kutumia. Hapa tutatumia setFrom() Mfano

$mail->setFrom('info@demomailtrap.com', 'From Bongoclass');

 

Atuwa inayofuata ni kuweka email ya ambaye unamtumia huo ujumbe. Hapa tutatumia addAddress() mfano: tafadhali tumia email yakwao wenyewe kwa ajili ya mafunzo.

$mail->addAddress('johndoeo@gmail.com', 'John Doe');

 

Hatuwa inayofuata ni kuandika ujumbe wetu. Kwanza tutatakiwa kuangalia kama ni text za kawaida tutaweka html false, ila kama ni html basi tutaweka true mfano $mail->isHTML(false);Kisha tutaandika subject yaani kichwa cha habari cha emailyetu.

$mail->Subject = 'KAribu Bongoclass';

Hatuwa inayofuata ni kuweka maudhui haswa ya email yetu.

$mail->Body    = 'Tunakukaribisha kwenye community yetu ya Bongoclass';

 

Sasa hatuwa ya mwisho ni kuangalia je email imetumwa ama laa. Hapa tutatumi if else.

if(!$mail->send()){

   echo 'Kuna hitilafu ' . $mail->ErrorInfo;

} else {

   echo 'email imetumwa';

}

 

Kama umefuata maelekezo vyema email itakuwa umetumwa kikamilifu. Code mzima zitaonekana hizi:

<?php

use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\SMTP;

use PHPMailer\PHPMailer\Exception;

 

require 'vendor/autoload.php';

 

$mail = new PHPMailer(true);

 

// SMTP Configuration

$mail->isSMTP();

$mail->Host = 'live.smtp.mailtrap.io';

$mail->SMTPAuth = true;

$mail->Username = 'api';

$mail->Password = 'af57db7937f19811dca7610d96776d14';

$mail->SMTPSecure = 'tls';

$mail->Port = 587;

 

// Sender and recipient settings

$mail->setFrom('info@demomailtrap.com', 'From Bongoclass');

$mail->addAddress('skyclassbongo@gmail.com', 'Recipient Name');

 

// Sending plain text email

$mail->isHTML(false);

$mail->Subject = 'Your Subject Here';

$mail->Body    = 'This is the plain text message body';

 

// Send the email

if(!$mail->send()){

   echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo;

} else {

   echo 'Message has been sent';

}





 

2. Bila ya kutumia composer

Sasa endapo hutaki kutumia composer, itakuhitajia ku download folder la PHPMailer kisha utaliweka kwenye project yako kama pich huko huu ulivyoonyesha. Baada ya hapo juu kabisa utaweka code hizi

require 'PHPMailer/src/Exception.php';

require 'PHPMailer/src/PHPMailer.php';

require 'PHPMailer/src/SMTP.php';

 

Hapa hunahaja tena ya ku include autoload.php. Hivyo huo mstari utauondoa kwenye faili lako la code. Baada ya hapo maelezo mengine ni yale yale hakuna mabadiliko.


 

Mwisho.

Somo inalofuata tutakwenda kujifunza jinsi ya kutuma email kwa watumiaji zaidi ya mmoja. Pia tutakwenda kujifunzajinsi ya kuweka CC na BCC

 

Download App Yetu

Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.

Download Now Bongoclass

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 1970-01-01 03:33:44 Topic: PHP Main: ICT File: Download PDF Views 468

Share On:

Facebook WhatsApp
Sponsored links
👉1 kitabu cha Simulizi    👉2 Sira ya Mtume Muhammad (s.a.w)    👉3 Madrasa kiganjani    👉4 Kitau cha Fiqh    👉5 Simulizi za Hadithi Audio    👉6 Bongolite - Game zone - Play free game   

Post zinazofanana:

PHP somola 69: jinsi ya kutuma email kwa watu zaidi ya mmoja kwa kutumia PHPMailer

Katika somo il utajifunza kutuma email kwa watu wengi kwa kutumia PHPMailer. Pia utajifunza jinsi ya kuweka Carbon Copy na Blind Carbon Copy

Soma Zaidi...
PHP - somo la 48: Jinsi ya kuzuia hacking kwenye sytem ya kujisajili na ku login

Katika somo hili utajifunza jinsi ambavyo utaweza kutengeneza mfumo wa kuisajiki na ku login, kisha kuangalia usalama wa mfumo kwa kuzuia sql injection.

Soma Zaidi...
PHP - somo la 37: Jinsi ya kutengeneza blog post kwa kutumia PHP

Katika somo hili utajifunza jinsi ambavyo unaweza kutengeneza blog ambayo utaweza ku upload faili na kuandika makala kwa kutumia PHP

Soma Zaidi...
PHP somo la 101: Advanced RedBeanPHP - Usimamizi wa Database, Usalama, na Ufanisi

Hili ni somo la mwisho katika mfululizo huu wa ORM, kupata ujuzi zaidi endelea kusoma ORM nyinginezo ambazo nimetangulia kuzitaja awali ya masomo haya.

Soma Zaidi...
PHP -somo la 31: Matumizi ya include() na require() function kwenye php

Katika somo hili utakwenda kujifunza jinsi ya kuandika function za PHP kama require() na iclude()

Soma Zaidi...
PHP BLOG - somo la 7: Jinsi ya kutengeneza ukurasa wa kusoma post kwenye blog

HApa utakwenda kujifunza sasa namna ya kuzisoma post kutoka kwenye blog

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

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.

Soma Zaidi...
PHP somo la 51: Jinsi ya kutumia consctuct na destruct function

Katika somo hili utakwenda kujifunza kazi na matumizi ya construct function na desctruct function kwenye OOP

Soma Zaidi...
Jinsi ya kupata location ya mtu lwa kutumia IP address

Katika post hii utajifunza jinsi ya kupata taarifa muhimu za mtumiaji kw akutumia Ip address yake.

Soma Zaidi...
PHP somol la 55: PHP Abstract Class na abstract method

Katika somo hili utakwenda kujifunza concept mpya ya abstract class na abstract method kwenye OOP.

Soma Zaidi...