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
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.
Umeionaje Makala hii.. ?
Share On:
👉1 Kitabu cha Afya 👉2 Tafasiri ya Riyadh Swalihina 👉3 Madrasa kiganjani 👉4 web hosting 👉5 Simulizi za Hadithi Audio 👉6 ai web app
Post zinazofanana:
PHP BLOG - somo la 2: Jinsi ya kutengeneza database na kuiunganisha kwenye blog
Katika somo hili unakwenda kujifunza jinsi y kutengeneza database na kuungansha kwenye blog yetu.
Soma Zaidi...PHP somo la 97: Jinsi ya kuchakata data zaidi kwa kutumia ORM
Katika somo hili utakwenda kujifunz akuchakata data zaidi kw akutumia ORM kama ku join table
Soma Zaidi...PHP somo la 87: Jinsi ya kuangalia error wakati wa ku decode na ku encode json data
Katika somo hili utakwenda kujifunza jisni ya kudhibiti error ambazo zinaweza kutokea wakati wa ku encode na ku decoe json data
Soma Zaidi...PHP - somo la 12: Jinsi ya kufanyia kazi taarifa zilizokusanywa kutoka kwa mtumiaji
Katika somo hili utakwenda kujifunza jinsi ya kutumia taarifa ambazo zimekusanywa kutoka kwa mtumiaji ili kuweka kutatuwa hoja mbalimbali
Soma Zaidi...PHP somo la 91: Mambo ya kuzingatia unapokuwa unashughulika na data za json
Haya ni mabo ya kuzingatia unapo encode ama ku decode data za json
Soma Zaidi...PHP somo la 88: Jisnsi ya kutengeneza json data kutoka kwenye database
Katika somo ili utakwenda kujifunz ahatuwa kwa hatuwa jinsi ya kutengeneza json data kutkana na data ambazo zio kwenye database
Soma Zaidi...