1) Исправления в связи со сменой API MySQL
[openlib.git] / www / sendtomail.php
diff --git a/www/sendtomail.php b/www/sendtomail.php
new file mode 100644 (file)
index 0000000..632752a
--- /dev/null
@@ -0,0 +1,69 @@
+<?php\r
+\r
+require_once ("config.php");\r
+require_once "resources/PHPMailer/class.phpmailer.php";\r
+require_once "book.php";\r
+\r
+if (is_null ($config['cops_mail_configuration']) ||\r
+    !is_array ($config['cops_mail_configuration']) ||\r
+    empty ($config['cops_mail_configuration']["smtp.host"]) ||\r
+    empty ($config['cops_mail_configuration']["address.from"])) {\r
+    echo "NOK. bad configuration of $config ['cops_mail_configuration']";\r
+    exit;\r
+}\r
+\r
+$idData = $_REQUEST["data"];\r
+if (empty ($idData)) {\r
+    echo 'No data sent.';\r
+    exit;\r
+}\r
+$emailDest = $_REQUEST["email"];\r
+if (empty ($emailDest)) {\r
+    echo 'No email sent.';\r
+    exit;\r
+}\r
+\r
+$book = Book::getBookByDataId($idData);\r
+$data = $book->getDataById ($idData);\r
+\r
+if (filesize ($data->getLocalPath ()) > 10 * 1024 * 1024) {\r
+    echo 'Attachement too big';\r
+    exit;\r
+}\r
+\r
+$mail = new PHPMailer;\r
+\r
+$mail->IsSMTP();\r
+$mail->Timeout = 30; // 30 seconds as some files can be big\r
+$mail->Host = $config['cops_mail_configuration']["smtp.host"];\r
+if (!empty ($config['cops_mail_configuration']["smtp.secure"])) {\r
+    $mail->SMTPSecure = $config['cops_mail_configuration']["smtp.secure"];\r
+    $mail->Port = 465;\r
+}\r
+$mail->SMTPAuth = !empty ($config['cops_mail_configuration']["smtp.username"]);\r
+if (!empty ($config['cops_mail_configuration']["smtp.username"])) $mail->Username = $config['cops_mail_configuration']["smtp.username"];\r
+if (!empty ($config['cops_mail_configuration']["smtp.password"])) $mail->Password = $config['cops_mail_configuration']["smtp.password"];\r
+if (!empty ($config['cops_mail_configuration']["smtp.secure"])) $mail->SMTPSecure = $config['cops_mail_configuration']["smtp.secure"];\r
+\r
+$mail->From = $config['cops_mail_configuration']["address.from"];\r
+$mail->FromName = $config['cops_title_default'];\r
+\r
+foreach (explode (";", $emailDest) as $emailAddress) {\r
+    if (empty ($emailAddress)) { continue; }\r
+    $mail->AddAddress($emailAddress);\r
+}\r
+\r
+$mail->AddAttachment($data->getLocalPath ());\r
+\r
+$mail->IsHTML(false); \r
+$mail->Subject = 'Sent by COPS';\r
+$mail->Body    = 'Sent by COPS';\r
+\r
+if(!$mail->Send()) {\r
+   echo localize ("mail.messagenotsent");\r
+   echo 'Mailer Error: ' . $mail->ErrorInfo;\r
+   exit;\r
+}\r
+\r
+echo localize ("mail.messagesent");\r
+\r