Home > Backend Development > PHP Tutorial > Detailed explanation of usage examples of PHP mail sending class PHPMailer_PHP tutorial

Detailed explanation of usage examples of PHP mail sending class PHPMailer_PHP tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-13 10:18:39
Original
1028 people have browsed it

Detailed explanation of usage examples of PHP mail sending class PHPMailer

This article describes the usage of PHP mail sending class PHPMailer and details its specific operation steps. Share it with everyone for your reference. The specific steps are as follows:

1. Install sendmail on the server

1

sudo apt-get install sendmail

1
sudo apt-get install sendmail

1

sudo /etc/init.d/sendmail start

2. Start sendmail

1

sudo /etc/init.d/sendmail start

1

2

3

4

[mail function] 

SMTP = localhost 

smtp_port = 25 

sendmail_from = me@example.com

3. Modify php.ini
1 2 3 4 [mail function] SMTP = localhost smtp_port = 25 sendmail_from = me@example.com

4.Function sendMail function is as follows

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

/* Call PHPMailer to send email

* @param String $receiver Recipient

* @param String $sender Sender

* @param String $sender_name If the sender name is empty, it will be replaced by the sender address

* @param String $subject Email subject

* @param String $content Email content

* @param boolean $ishtml Whether to html email

* @param Array $attachements attachments

* @return boolean

*/

function sendMail($receiver, $sender, $sender_name, $subject, $content, $ishtml=true, $attachments=array()) {

include_once "class-phpmailer.php";

if(empty($receiver) || empty($sender) || empty($subject) || empty($content)){

return false;

}

$mail = new PHPMailer();

//$mail->IsSMTP(); //Send via smtp

//$mail->Host = "smtp.gmail.com"; // SMTP server

//$mail->Port = 465; // SMTP port

//$mail->SMTPSecure = 'ssl'; // Encryption method

//$mail->SMTPAuth = true; // Turn on SMTP authentication

//$mail->Username = "username"; // Username

//$mail->Password = "password"; // Password

$mail->IsMail(); // using PHP mail() function There may be a prompt that this email may not be sent by the following user

 

$mail->From = $sender; // Sender

$mail->FromName = $sender_name; // Alias ​​of the sender

$mail->AddReplyTo($sender); // Replyer

$mail->AddAddress($receiver); // Recipient

//Send as html

if($ishtml){

$mail->IsHTML(true);

}

// Send attachment

if($attachments){

if(is_array($attachments)){

$send_attachments = array();

$tmp_attachments = array_slice($attachments,0,1);

if(!is_array(array_pop($tmp_attachments))){

if(isset($attachments['path'])){

array_push($send_attachments, $attachments);

}else{

foreach($attachments as $attachment){

array_push($send_attachments, array('path'=>$attachment));

        } 

}  

}else{

$send_attachments = $attachments;

}

foreach($send_attachments as $attachment){

$attachment['name'] = isset($attachment['name'])? $attachment['name'] : null;

$attachment['encoding'] = isset($attachment['encoding'])? $attachment['encoding'] : 'base64';

$attachment['type'] = isset($attachment['type'])? $attachment['type'] : 'application/octet-stream';

if(isset($attachment['path']) && file_exists($attachment['path'])){

$mail->AddAttachment($attachment['path'],$attachment['name'],$attachment['encoding'],$attachment['type']);

}  

}

}elseif(is_string($attachments)){

if(file_exists($attachments)){

$mail->AddAttachment($attachments);

}

}

}

$mail->Subject = $subject; // Email subject

$mail->Body = $content; // Email content

return $mail->Send();

}

//DEMO example is as follows:

$receiver = 'receiver@test.com';

$sender = 'sender@test.com';

$sender_name = 'sender name';

$subject = 'subject';

$content = 'content';

// Four formats are available

$attachments = 'attachment1.jpg';

$attachments = array('path'=>'attachment1.jpg', 'name'=>'attachment1.jpg');

$attachments = array('attachment1.jpg','attachment2.jpg','attachment3.jpg');

$attachments = array(

array('path'=>'attachment1.jpg', 'name'=>'attachment1.jpg'),

array('path'=>'attachment2.jpg', 'name'=>'attachment2.jpg'),

array('path'=>'attachment3.jpg', 'name'=>'attachment3.jpg'),

);

$flag = sendMail($receiver, $sender, $sender_name, $subject, $content, true, $attachments);

echo $flag;

?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/882706.htmlTechArticleDetailed explanation of usage examples of PHP mail sending class PHPMailer. This article describes the usage of PHP mail sending class PHPMailer in detail, and explains it in detail. Specific steps. Share it with everyone for your reference. Tool...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template