Katika somo il utajifunza kutuma email kwa watu wengi kwa kutumia PHPMailer. Pia utajifunza jinsi ya kuweka Carbon Copy na Blind Carbon Copy
Kutuma emailkwa watu zaidi ya mmoja:
Kabla hatujatuma barua pepe kw amtu zaidi ya mmoja,ngooja kwanz atuone jinsi ya kuweka, reply, CC na BCC. kama umeshatumia gmail ama email provider nyingine bila shakaumeshakutana na hizi terminologyCC na BCC.
CC ina maana ya Carbon Copy: hii hutumika kutuma copi ya barua pepe ulioituma kwa watuzaidiya mmoja,kwa mhusika. Huyo anayetumiwa hiyo kopi anaweza kuona watu wote ambao barua pepehiyo wanatumiwa. Kuweka CC tutatumia addCC.
Mfano $mail->addCC('cc1@example.com', 'Elena'); pia unaweza kuweka CC zaidi ya mmoja.
$mail->addCC('cc1@example.com', 'Elena');
$mail->addCC('cc2@example.com', 'Elena');
$mail->addCC('cc3@example.com', 'Elena');
BCC ina maana Blind Carbon Copy hii ni kama hiyo hapojuu ilatofautii kuwa mhusika hatoweza kuona majinana email za watu ambao wametumiwa emailhiyo. Kwa hiyo hapa ni sawana kumtarifu kuwa ujumbe fulani umetumwa. Kuweka BCC ttatumia addBCC. Pia unaweza kuweka zaidi ya mmoja
Mfano:
$mail->addBCC('bcc2@example.com', 'Anna');
$mail->addBCC('bcc3@example.com', 'Mark');
Sasa pia unapotuma barua kwa watu wengi ni vyema pia kutoa maelekezo kwa server kuwa endapo mtu atahitaku ku reply hiyo email ata reply kwa kutumia email gani. Kufanya hivi tutatumia addRepyTo mfano
$mail->addReplyTo('info@mailtrap.io', 'Mailtrap');
Code zote zitakuw ahivi:
<?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 = 'username';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 2525;
// Sender and recipient settings
$mail->setFrom('info@mailtrap.io', 'Mailtrap');
$mail->addReplyTo('info@mailtrap.io', 'Mailtrap');
$mail->addAddress('recipient1@mailtrap.io', 'Tim');
// CC and BCC
$mail->addCC('cc1@example.com', 'Elena');
$mail->addBCC('bcc1@example.com', 'Alex');
// Adding more BCC recipients
$mail->addBCC('bcc2@example.com', 'Anna');
$mail->addBCC('bcc3@example.com', 'Mark');
// Email content
$mail->isHTML(false);
$mail->Subject = "PHPMailer SMTP test";
$mail->Body = 'Karibu bongoclass kwenye jumuia yetu';
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}";
}
?>
Sasa tuone jinsi ya kutuma kwa watu zaidi ya mmoja:
Hiki ni kipengelemuhimu sana hasa kwa ambao wanafanya email marketing. Unatakiw auwe na uwezo wakutuma maelfu ya email kwa siku. Hapa tutaweka emailkwneye array.
Mfano:
$users = [
['email' => 'max@gmail.com', 'name' => 'Max'],
['email' => 'box@example.com', 'name' => 'Bob']
];
Utaona hapo email zetu zipokwneye varible ambayo ji array. Kila email ina jina la mtumiaji. Sasa hapo unaweza kuitumia aray hiyo kutuma barua pepe. Hapo tutatumia foreach loop kwa ajili ya kuzitumia hizo email zilizopo kwenye array.
Sasa kwakuwa mchakato huu unafanyikakwenye loop, hivyoitabidi tuweze kuifanya connection yetuiwe live. $mail->SMTPKeepAlive = true; utaona hapa tumeweka true.kwahivyokila ukitumwa emailkw amtu mmoja connection hifungi mpaka wote wamalizike. Tutakapokuwa tumefika mwisho wa loop basi tutaclear meseji ilikuanza upya. $mail->clearAddresses();kisha tutafunga connection baad ya kumaliza kazi. $mail->smtpClose();
Mfano:
<?php
use PHPMailer\PHPMailer\PHPMailer;
require 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'live.smtp.mailtrap.io';
$mail->SMTPAuth = true;
$mail->Username = '1a2b3c4d5e6f7g';
$mail->Password = '1a2b3c4d5e6f7g';
$mail->SMTPSecure = 'tls';
$mail->Port = 2525;
$mail->SMTPKeepAlive = true;
$mail->setFrom('list@example.com', 'List manager');
$mail->Subject = "my email list";
$users = [
['email' => 'max@gmail.com', 'name' => 'Max'],
['email' => 'box@example.com', 'name' => 'Bob']
];
foreach ($users as $user) {
$mail->addAddress($user['email'], $user['name']);
$mail->Body = "Hello, {$user['name']}! tunakukaribisha sana bongoclass";
try {
$mail->send();
echo "Message sent to: ({$user['email']}) {$mail->ErrorInfo}\n";
} catch (Exception $e) {
echo "Mailer Error ({$user['email']}) {$mail->ErrorInfo}\n";
}
$mail->clearAddresses();
}
$mail->smtpClose();
Mwisho:
Katika somo linalofuata tutakwenda kujifunza jinsi ya kutuma barua pepe ya html.pia tutajifunza jinsi ya kuweka attachment kama picha na pdf.
Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.
Download NowKatika somo hili utajifunza jinsi ya kuandika while loop kwenye PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu http redirect header
Soma Zaidi...Katika somo hili utakwenda kujifunza aina kuu 3 za variable katika PHP mabzo ni local variable, global variable na static variable.
Soma Zaidi...Katika post hii utajifunza jinsi ya kupata taarifa muhimu za mtumiaji kw akutumia Ip address yake.
Soma Zaidi...Katika somo hili utajifunza kuhusu cronjob na matumizi yake kwenye PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia PHP kutengeneza database kwenye mysql database.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya ku upload mafaili kwenye server kwa kutumia PHP
Soma Zaidi...Katika somo hili utakwendakujifunza concept ya namespaces na jinsi inavyosaidi kwenye OOP
Soma Zaidi...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...Katika somo hili utakwenda kujifunza jinsi ya kutumia PDO kutengeneza database, kuteneneza table na kuingiza data moja na zaidi ya moja.
Soma Zaidi...