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 NowUmeionaje Makala hii.. ?
Katika somo hili utajifunza kuhusu syntax za PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza jisni ya kudhibiti error ambazo zinaweza kutokea wakati wa ku encode na ku decoe json data
Soma Zaidi...Katika somo hili utakwenda kujifunza kujusu PHP variable, maana yake na sheria za uandishi wa variable
Soma Zaidi...Katika somo hili utajifunza kupangilia data wakati wa kuzisoma kwenye database kw akutumia PHP
Soma Zaidi...Katika soo hili utakwenda kujifunza umuhmu wa kutumia PDO kwenye PHP kwa ajili ya kutumia database.
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Maana ya JSON na sheria za kuandika faili la json
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu access modifier ili kuweza kuthibiti nama ya kuzitumia properties kwenye class.
Soma Zaidi...Katika somo hili utakwenda kuhifunza kuhusu Custom header na aina zake
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya ku upload mafaili kwenye server kwa kutumia PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu Cross - Orgn Resource Sharing ama inafupishwa kama CORSE header
Soma Zaidi...