Calibre OPDS (and HTML) PHP Server : web-based light alternative to Calibre content server / Calibre2OPDS to serve ebooks (epub, mobi, pdf, ...) http://blog.slucas.fr/en/oss/calibre-opds-php-server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.1KB

  1. <?php
  2. require_once ("config.php");
  3. require "resources/PHPMailer/class.phpmailer.php";
  4. require "book.php";
  5. if (is_null ($config['cops_mail_configuration']) ||
  6. !is_array ($config['cops_mail_configuration']) ||
  7. empty ($config['cops_mail_configuration']["smtp.host"]) ||
  8. empty ($config['cops_mail_configuration']["address.from"])) {
  9. echo "NOK. bad configuration of $config ['cops_mail_configuration']";
  10. exit;
  11. }
  12. $idData = $_REQUEST["data"];
  13. if (empty ($idData)) {
  14. echo 'No data sent.';
  15. exit;
  16. }
  17. $emailDest = $_REQUEST["email"];
  18. if (empty ($emailDest)) {
  19. echo 'No email sent.';
  20. exit;
  21. }
  22. $book = Book::getBookByDataId($idData);
  23. $data = $book->getDataById ($idData);
  24. if (filesize ($data->getLocalPath ()) > 10 * 1024 * 1024) {
  25. echo 'Attachement too big';
  26. exit;
  27. }
  28. $mail = new PHPMailer;
  29. $mail->IsSMTP();
  30. $mail->Timeout = 30; // 30 seconds as some files can be big
  31. $mail->Host = $config['cops_mail_configuration']["smtp.host"];
  32. if (!empty ($config['cops_mail_configuration']["smtp.secure"])) {
  33. $mail->SMTPSecure = $config['cops_mail_configuration']["smtp.secure"];
  34. $mail->Port = 465;
  35. }
  36. $mail->SMTPAuth = !empty ($config['cops_mail_configuration']["smtp.username"]);
  37. if (!empty ($config['cops_mail_configuration']["smtp.username"])) $mail->Username = $config['cops_mail_configuration']["smtp.username"];
  38. if (!empty ($config['cops_mail_configuration']["smtp.password"])) $mail->Password = $config['cops_mail_configuration']["smtp.password"];
  39. if (!empty ($config['cops_mail_configuration']["smtp.secure"])) $mail->SMTPSecure = $config['cops_mail_configuration']["smtp.secure"];
  40. $mail->From = $config['cops_mail_configuration']["address.from"];
  41. $mail->FromName = $config['cops_title_default'];
  42. $mail->AddAddress($emailDest);
  43. $mail->AddAttachment($data->getLocalPath ());
  44. $mail->IsHTML(false);
  45. $mail->Subject = 'Sent by COPS';
  46. $mail->Body = 'Sent by COPS';
  47. if(!$mail->Send()) {
  48. echo 'Message could not be sent.';
  49. echo 'Mailer Error: ' . $mail->ErrorInfo;
  50. exit;
  51. }
  52. echo 'Message has been sent';