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.
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Share On:
atika somo hli tutakwenda kujifunza kuhusu kitu kinachitwa cron job. ni moja ya teknolojia zinazotumika kufanya kazi zinazofanyika automatic
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia database ya sqlite kwa kutumia PHP.
Soma Zaidi...Katika somo hili tutakwenda kujifunza kuhusu array kwenye php, na jinsi zinavyoweza kufanya kazi
Soma Zaidi...Katika somo hili utakwenda kujifundisha kuhus matumizi ya function kwenye php. Pia utajifunza jinsi ya kuandika function
Soma Zaidi...Katika somo hili utakwenda kujifunza concept ya traits kwenye OOP. hii itakusaidia ku solve baadhi ya changamoto zinazotokana na inheritance
Soma Zaidi...Katika somo hili utakwenda kujifunza kujusu PHP variable, maana yake na sheria za uandishi wa variable
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 kuhusu Aina za cache header
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Cross - Orgn Resource Sharing ama inafupishwa kama CORSE header
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...