-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsendmail.class
More file actions
62 lines (44 loc) · 1.28 KB
/
Copy pathsendmail.class
File metadata and controls
62 lines (44 loc) · 1.28 KB
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
<?php
class SendMail {
public $To;
public $Subject;
public $Message;
private $Headers;
public function __construct($from, $subject, $message) {
$this->To = array();
$this->Headers = array();
$this->Subject = $subject;
$this->Message = $message;
$this->AddHeader('From', $from);
}
public function AddHeader($name, $value) {
$this->Headers[$name] = $value;
}
public function AddHeaders($arr) {
foreach ($arr as $key => $value)
$this->AddHeader($key, $value);
}
public function AddRecipient($address) {
$this->To[] = $address;
}
public function AddRecipients($arr) {
foreach($arr as $address)
$this->AddRecipient($address);
}
public function SetMessage($message) {
$this->Message = $message;
}
public function Send() {
$headers = '';
foreach ($this->Headers as $key => $value)
$headers .= sprintf("$key: $value\r\n");
if (count($this->To) == 0)
throw new Exception('No recipients set');
$to = '';
foreach ($this->To as $value)
$to .= "$value, ";
$to = substr($to, 0, -2);
mail($to, $this->Subject, $this->Message, $headers);
}
}
?>