Katika somo hili utakwenda kujifunza jinsi ya kutuma email ambayo ina HTML, pia utajifunza kutuma email yenye picha na attachment nyinginezo kama pdf
Jinsiya kutuma email yenye html
Sas wakati mwingine utahitaji kutuma email ambayo ndnai yakeina html. Kufanya hivi kwanza utahitajika kutoa taarifa kwneye smtp server kuwa emailina html. Utaweka true. Mfano $mail->isHTML(true);. Baad aya hapo utaadika ujumbe wako wa htmlkwenye body.
mfano
$mail->Body = '<h1>Karibu Bongoclass</h1><p>Utaweza kujifunza mengi katika teknolojia</p>';
Sasa kwa sababu za kisalama baadhiya email server provider wanaweza kuzuia kufungua htmlkwenye email mpaka pale mmiliki atakaporuhusu. Hivyo basi ni vyemakuweka ujumbe mbadala. Yaaniendapo mtu hataruhusu htmlzifungukekwneyeemailyake basi tutamunyeshaplain texttu. Ujumbe huu mbadala tutauweka kwa kutumia altBody()
Mfano:
$mail->AltBody = 'Karibu Bongoclass. Utaweza kujifunza mengi katika teknolojia';
Code zote zitaonekana hivi:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'live.smtp.mailtrap.io';
$mail->SMTPAuth = true;
$mail->Username = 'paste one generated by Mailtrap';
$mail->Password = 'paste one generated by Mailtrap';
$mail->SMTPSecure = 'tls';
$mail->Port = 2525;
// Sender and recipient settings
$mail->setFrom('info@mailtrap.io', 'Mailtrap');
$mail->addAddress('recipient1@mailtrap.io', 'Tim');
// Email content
$mail->isHTML(true);
$mail->Subject = "PHPMailer SMTP test";
$mail->Body = '<h1>Karibu Bongoclass</h1><p>Utaweza kujifunza mengi katika teknolojia</p>';
$mail->AltBody = 'Karibu Bongoclass. Utaweza kujifunza mengi katika teknolojia';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
Jinsi ya kuweka attachment:
Sasa mfano unatakakuweka pdf, ama faili lolote kwenye email yako. Tutatumia addAttachment() utaweka location ya hilo faili ama linkyake.
Mfano:
$mail->addAttachment('pathf', 'file.pdf');
Mfano tuna pdf faili letu kwenye folda linaloitwa files,na faili letu linaitwa test.pdf. Hivyo tutaliweka katika namna hii.
$mail->addAttachment('files/test.pdf', 'test.pdf');
Pia kama mafaili ni zaidi ya moja utayaweka kwa mtindo kama huo
Mfano:
$mail->addAttachment('files/test1.pdf', 'test1.pdf');
$mail->addAttachment('files/test2.pdf', 'test2.pdf');
$mail->addAttachment('files/tes3t.pdf', 'test3.pdf');
Jinsi ya kuweka picha
Sasa wkati mwingine unahitaji kwenye email yakouweze ku display picha.saahapa kua utaratibu mwingine tofauti na vile ambavyo tunafahamu kwenye html.hapa tutatumia addEmbeddedImage() tutaweka path yaani location ya hiyopicha. Kisha tutaweka 'image_cid'
Mfano
Piacha yetu ipo kwenye folda linaloitwa files na picha yetu inaitwa email.jpeg
Kisha wakati wakuitumia tataweka <img src="cid:image_cid"> sio lazima kutumia image_cid unawezakutumia kitamblisho cochote. Mfano tunataka kuweka picha mbili kwenye email yetu. Hapo kilamoja itakuwa na cid yakwake
$mail->addEmbeddedImage('files/email.jpeg', 'image1');
$mail->addEmbeddedImage('files/mbu.png', 'image2');
$mail->Body = '<p>haloo karibu saba.<b>wewe ni rafiki<u>waa kweli</u></b></p><img src="cid:image1"><br> Mail body in HTML <img src="cid:image2">';
Wacha tuonecode zote:
<?php
use PHPMailer\PHPMailer\PHPMailer;
require 'vendor/autoload.php';
$mail = new PHPMailer(true); // Enables exceptions
$mail->isSMTP();
$mail->Host = 'live.smtp.mailtrap.io';
$mail->SMTPAuth = true;
$mail->Username = 'api';
$mail->Password = 'af57db7937f19811dca7610d96776d14';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('info@demomailtrap.com', 'Bongoclass');
$mail->addReplyTo('admin@demomailtrap.com', 'John Doe');
$mail->addAddress('skyclassbongo@gmail.com', 'Recipient Name');
$mail->addAttachment('files/test.pdf', 'test.pdf');
$mail->isHTML(true);
$mail->Subject = "PHPMailer SMTP test";
$mail->addEmbeddedImage('files/email.jpeg', 'image1');
$mail->addEmbeddedImage('files/mbu.png', 'image2');
$mail->Body = '<p>haloo karibu saba.<b>wewe ni rafiki<u>waa kweli</u></b></p><img src="cid:image1"><br> Mail body in HTML <img src="cid:image2">';
$mail->AltBody = 'This is the plain text version of the email content';
if(!$mail->send()){
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}else{
echo 'Message has been sent';
}
Mwisho:
Huu ndio mwisho wa somo letu la kutuma email kwa kutumia phpmailer. Nichukuwe nafasi hii pia kukukaribisha kwenye somo linalofuata ambalo tutakwend akujifunza kuhusu kutengeneza pdf kwa kutumia php
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Huu ni mwendelezo wa mafunzo ya PHP na hapa tunaaza rasmi advanced PHP. tutakwenda kuingia ndani zaidi kwenye PHP. Ni vyema kabla ya kuanza course hii ya advanced PHP uwe una uelewa wa kutosha kuhusu mafunzo yetu ya PHP.
Soma Zaidi...Katika ukurasa huu utakwenda kujifunz jinsi ya kuandika code za php kwa ajili ya kutuma post yetu kwenye blog.
Soma Zaidi...Katika somo hili utakwend akujifunza jinsi ya kubadili json data na kuwaphp array ama php object. Kwa ufupi tunakwend aku decode json data kuwa phparray amaobject
Soma Zaidi...Katika somo hili utakwenda kujifunza Jinsi ya kutumia ORM kwa kutumia library ya RedBeanPHP
Soma Zaidi...Katika somo hili uatakwenda kujifunza jinsi ya kutumia htaccess ili kubadili muonekano wa link ya website ama blog ili kuifanya iwe rafiki zaidi.
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kuandika query ndani ya ORM. Hii inakupa uhuru wa kufanya kileunachotaka bila ya kuathiri usalama wa project
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia PHP kutengeneza database kwenye mysql database.
Soma Zaidi...katika somo hili utajifunza jinsi ya ku upload multiple file yaani mafaili mengi kwa wakati mmoja kwa kutumia PHP
Soma Zaidi...Katika somo hili tutakwenda kutumia prepared ststement kwenye ku fetch data kutoka kwenye database.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya ku update na kufuta data kwenye database kwa kutumia PHP
Soma Zaidi...