Home  >  Article  >  Backend Development  >  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

WBOY
WBOYOriginal
2016-07-13 10:18:39979browse

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:
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