2016-04-06 17:30:05 +02:00
|
|
|
<?php
|
|
|
|
# COPYRIGHT (c) 2016 Marcel Kapfer (mmk2410)
|
|
|
|
# MIT License
|
|
|
|
|
2017-05-23 16:47:16 +02:00
|
|
|
/**
|
|
|
|
* configuration map
|
|
|
|
*/
|
2016-11-12 17:46:40 +01:00
|
|
|
$ini = parse_ini_file("../../filespread.ini");
|
2016-04-06 17:30:05 +02:00
|
|
|
|
|
|
|
date_default_timezone_set($ini["timezone"]);
|
|
|
|
|
|
|
|
require '../../vendor/autoload.php';
|
|
|
|
|
2017-05-23 16:47:16 +02:00
|
|
|
/**
|
|
|
|
* main function that is executed at the beginning.
|
|
|
|
*
|
|
|
|
* @author Marcel Kapfer <marcelmichaelkapfer@gmail.com>
|
|
|
|
*
|
|
|
|
* @param $ini an configuration map.
|
|
|
|
*/
|
2016-11-20 08:47:12 +01:00
|
|
|
function main($ini) {
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$data = json_decode($_GET["data"], true);
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$list = "../../lists/" . $data["list"];
|
|
|
|
$addresses = file($list);
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$content = $data["body"];
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$title = $data["title"];
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$filename = $data["filename"];
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2017-04-20 13:32:09 +02:00
|
|
|
$nofile = $data["nofile"];
|
|
|
|
|
|
|
|
if ($nofile) {
|
|
|
|
$filename = "";
|
|
|
|
}
|
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
foreach ($addresses as $address) {
|
|
|
|
if (sendMail($title, $content, $filename, $address, $ini) != 0) {
|
|
|
|
print "-1";
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
}
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
print "0";
|
2016-04-06 17:30:05 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2017-05-23 16:47:16 +02:00
|
|
|
/**
|
|
|
|
* function for sending the mail.
|
|
|
|
*
|
|
|
|
* @author Marcel Kapfer <marcelmichaelkapfer@gmail.com>
|
|
|
|
*
|
|
|
|
* @param $title the subject of the mail.
|
|
|
|
* @param $content the text of the mail.
|
|
|
|
* @param $address the receiver of the mail.
|
|
|
|
* @param $ini an configuration map.
|
|
|
|
*/
|
2016-11-20 08:47:12 +01:00
|
|
|
function sendMail($title, $content, $filename, $address, $ini) {
|
|
|
|
|
|
|
|
$mail = new PHPMailer;
|
2017-05-23 16:47:37 +02:00
|
|
|
$mail->CharSet = 'UTF-8';
|
2016-04-06 17:30:05 +02:00
|
|
|
|
2016-11-20 08:47:12 +01:00
|
|
|
$mail->setFrom($ini["email"], $ini["name"]);
|
|
|
|
$mail->Subject = $title;
|
|
|
|
$mail->Body = $content;
|
|
|
|
|
|
|
|
$mail->addAddress($address);
|
|
|
|
|
|
|
|
if (isset($ini["reply"])) {
|
|
|
|
$mail->addReplyTo($ini["reply"]);
|
2016-04-06 17:30:05 +02:00
|
|
|
}
|
2016-11-20 08:47:12 +01:00
|
|
|
|
2017-04-20 13:32:09 +02:00
|
|
|
if (!empty($filename)) {
|
|
|
|
$mail->AddAttachment("../../assets/file.bin", $filename);
|
|
|
|
}
|
2016-11-20 08:47:12 +01:00
|
|
|
|
|
|
|
if (!$mail->Send()) {
|
|
|
|
return -1;
|
|
|
|
} else {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2016-04-06 17:30:05 +02:00
|
|
|
}
|
2016-11-20 08:47:12 +01:00
|
|
|
|
|
|
|
main($ini);
|