Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Đối với bất kỳ trang web nào, gửi email bằng tập lệnh PHP là một yêu cầu rất phổ biến. Ví dụ: nếu trang web chứa bất kỳ tùy chọn đăng ký nào cho người dùng, thì cần có email xác nhận để gửi cho người dùng để xác minh email. Bạn có thể gửi email bằng PHP bằng cách sử dụng hàm PHP mail() hoặc bất kỳ thư viện PHP nào. Hai thư viện PHP được sử dụng chủ yếu để gửi email là PHPMailer và Swiftmailer. Cách gửi email bằng hàm mail() đã được thảo luận trong một hướng dẫn khác. Việc sử dụng thư viện PHPMailer để gửi email bằng PHP đã được trình bày trong hướng dẫn này

Gửi Email bằng PHPMailer

PHPMailer là một thư viện lớp rất hữu ích chứa một tập hợp các hàm để gửi email bằng PHP. Bạn có thể gửi email theo nhiều cách khác nhau từ máy chủ cục bộ bằng thư viện này. Chạy lệnh sau để cài đặt PHPMailer trong hệ điều hành Ubuntu

$ sudo apt-get install libphp-phpmailer

điều kiện tiên quyết

Bạn phải có tài khoản Gmail để sử dụng tiện ích gửi email của PHPMailer. Sau khi cài đặt PHPMailer, bạn phải bật tùy chọn “Cho phép ứng dụng kém an toàn hơn” trong tài khoản Gmail của mình

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Các ví dụ khác nhau về gửi email bằng cách sử dụng PHPMailer

Dưới đây là các cách sử dụng thư viện PHPMailer sau đây để gửi email theo nhiều cách khác nhau

ví dụ 1. Gửi văn bản Email

Đoạn script sau đây chỉ ra cách gửi một email đơn giản bằng PHPMailer. Tập lệnh này chỉ định bốn phần thiết yếu của bất kỳ email nào (từ, đến, chủ đề, nội dung). Các phương thức setFrom và addAddress được sử dụng để đặt địa chỉ email của người gửi và người nhận. Thuộc tính Chủ đề và Nội dung được sử dụng để đặt chủ đề và nội dung của email. Nếu email được gửi chính xác, thì thông báo thành công sẽ được in và nếu email không được gửi, thông báo lỗi sẽ được in

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng;if(. $email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email address

$email->AddAddress("[email protected]");

//Set the subject

$email->Subject = "Testing Email";

//Set email content

$email->Body = "Hello! use PHPMailer to send email using PHP";


if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

đầu ra

Đầu ra sau sẽ xuất hiện nếu email đã được gửi thành công

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Nếu bạn kiểm tra địa chỉ email của người nhận, thì kết quả tương tự sau đây sẽ được hiển thị

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

ví dụ 2. Gửi email định dạng HTML

Bạn có thể gửi email định dạng HTML bằng PHPMailer. Bạn phải sử dụng isHTML() với giá trị tham số thực để gửi email có định dạng HTML. Ở đây, một phương thức khác AltBody() được sử dụng để gửi nội dung email dưới dạng văn bản thuần túy nếu người dùng không thể nhận email có nội dung HTML

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng

Tôi đang sử dụng PHPMailer để gửi email

';$email->;$email->isHTML$email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

$email->IsHTML(true);

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email address

$email->AddAddress("[email protected]");

$email->Subject = 'Message sent by PHPMailer';

$email->Body = '

Hello!

I am using PHPMailer to send email

'
;

$email->AltBody = ' This message is generated by plain text!';

$email->isHTML(true);

if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

đầu ra

Nếu bạn kiểm tra địa chỉ email của người nhận, thì đầu ra có định dạng HTML sau sẽ được hiển thị

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

ví dụ 3. Gửi email bằng cách đính kèm tệp cục bộ

Nhiều phương thức có sẵn trong lớp PHPMailer để gửi nội dung đính kèm với email. Phương thức AddAttachment() là một trong số chúng được sử dụng trong tập lệnh sau. Phương thức này có một tham số bắt buộc và ba tham số tùy chọn

addAttachment ($path, $name, $encoding, $type);

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng;$email->addAttachment . txt');if($email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

$email->IsHTML(true);

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email address

$email->AddAddress("[email protected]");

$email->addAddress('[email protected]');

$email->Subject = 'Message sent by PHPMailer';

$email->Body = 'Hello! use PHPMailer to send email using PHP';

$email->addAttachment('fruits.txt');


if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

đầu ra

Khi bạn kiểm tra địa chỉ email của người nhận, thì tệp đính kèm sẽ được hiển thị nếu tệp được đính kèm đúng với email như hình bên dưới

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Ví dụ 4. Gửi email bằng cách đính kèm tệp từ xa

Nếu bạn muốn đính kèm nội dung từ một vị trí ở xa, thì bạn có thể sử dụng phương thức addStringAttachment() cho mục đích này. Phương thức này có hai tham số. Tham số đầu tiên được sử dụng để lấy nội dung từ một vị trí URL cụ thể và tham số thứ hai được sử dụng để đặt tên của tệp đính kèm

addStringAttachment (file_get_contents($url), 'filename.pdf');

Trong tập lệnh sau, địa chỉ URL của tệp hình ảnh đã được đặt trong tham số đầu tiên và “myfile. jpg” đã được đặt trong tham số thứ hai của phương thức này để đặt tên cho tệp đính kèm

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng;$email->addStringAttachment . // localhost/phpcode/hoa. jpg'),'tệp của tôi. jpg');if($email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

$email->IsHTML(true);

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email address

$email->AddAddress("[email protected]");

$email->addAddress('[email protected]');

$email->Subject = 'Message sent by PHPMailer';

$email->Body = 'Hello! use PHPMailer to send email using PHP';

$email->addStringAttachment(file_get_contents('http://localhost/phpcode/flower.jpg'), 'myfile.jpg');


if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

đầu ra

Khi bạn kiểm tra địa chỉ email của người nhận, thì tệp đính kèm sẽ được hiển thị nếu tệp được đính kèm đúng với email như hình bên dưới

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Ví dụ 5. Gửi email với thông báo gỡ lỗi

Thuộc tính SMTPDebug của lớp PHPMailer được sử dụng để bật tùy chọn gỡ lỗi trước khi gửi email. Sau khi thực thi tập lệnh, giá trị của thuộc tính này đã được đặt thành 1 trong tập lệnh này để hiển thị thông báo gỡ lỗi

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng;if(. $email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

//Enable debug output

$email->SMTPDebug = 1;

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email address

$email->AddAddress("[email protected]");

//Set the subject

$email->Subject = "Testing Email";

//Set email content

$email->Body = "Hello! use PHPMailer to send email using PHP";


if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

Ví dụ 6. Gửi Email đến Nhiều Địa chỉ

Cách gửi email đến nhiều địa chỉ email bằng cách sử dụng PHPMailer đã được hiển thị trong tập lệnh sau. Các phương thức addCC() và addBCC() của lớp này đã được sử dụng để gửi email đến nhiều người nhận cùng một lúc

yêu cầu'/usr/share/php/libphp-phpmailer/src/PHPMailer. php';yêu cầu'/usr/share/php/libphp-phpmailer/src/SMTP. php'; //Khai báo đối tượng của PHPMailer$email;$email->Cổng;if(. $email->Gửi(. $email->ErrorInfo;;}?>

require '/usr/share/php/libphp-phpmailer/src/PHPMailer.php';

require '/usr/share/php/libphp-phpmailer/src/SMTP.php';

 

//Declare the object of PHPMailer

$email = new PHPMailer\PHPMailer\PHPMailer();

 

//Set up necessary configuration to send email

$email->IsSMTP();

$email->SMTPAuth = true;

$email->SMTPSecure = 'ssl';

$email->Host = "smtp.gmail.com";

$email->Port = 465;

//Set the gmail address that will be used for sending email

$email->Username = "[email protected]";

//Set the valid password for the gmail address

$email->Password = "password";

//Set the sender email address

$email->SetFrom("[email protected]");

//Set the receiver email addresses

$email->addAddress('[email protected]', 'Jafar Iqbal');

$email->addAddress('[email protected]');

$email->addReplyTo('[email protected]');

$email->addCC('[email protected]');

$email->addBCC('[email protected]');

//Set the subject

$email->Subject = "Testing Email";

//Set email content

$email->Body = "Hello! use PHPMailer to send email using PHP";


if(!$email->Send()) {

  echo "Error: " . $email->ErrorInfo;

} else {

  echo "Email has been sent.";

}

?>

đầu ra

Nếu bạn kiểm tra địa chỉ email của người nhận, thì thông tin sau sẽ được hiển thị

Chúng tôi có thể gửi email thông qua tập lệnh PHP không?

Phần kết luận

Hầu hết các tùy chọn gửi email sử dụng thư viện PHPMailer đã được thảo luận trong hướng dẫn này. Ngoài ra, một số ví dụ đã được cung cấp để giúp người dùng PHP tìm hiểu quy trình gửi email dễ dàng bằng cách sử dụng thư viện này theo những cách khác nhau. Chúng tôi hy vọng bạn thấy bài viết này hữu ích. Kiểm tra các bài viết Gợi ý Linux khác để biết thêm mẹo và thông tin

PHP có cho phép bạn gửi email trực tiếp từ tập lệnh không?

Hàm mail() cho phép bạn gửi email trực tiếp từ tập lệnh .

Làm cách nào để gửi email bằng HTML bằng PHP?

Gửi email HTML bằng PHP .
Sử dụng hàm PHP mail() và cung cấp các tham số cần thiết. to – Địa chỉ email người nhận. .
Tiêu đề kiểu nội dung là bắt buộc để gửi email có định dạng HTML
Các tiêu đề bổ sung được sử dụng để thêm Từ, Cc, Bcc, v.v.
Biến $htmlContent chứa nội dung HTML của email

Làm cách nào để gửi email bằng PHP SMTP?

Viết mã PHP để gửi email bằng Gmail SMTP .
Bước 1. Tải xuống thư viện PHPMailer từ liên kết github này. .
Bước 2. Viết mã PHP để tạo kết nối SMTP. .
Bước 3. Bao gồm các gói và tệp cho giao thức PHPMailer và SMTP. .
Bước 4. Khởi tạo PHP Mailer và đặt SMTP làm giao thức gửi thư