fixing E-Mail
This commit is contained in:
parent
a2c4e969ff
commit
3565c271d4
|
@ -0,0 +1,40 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHPMailer Exception class.
|
||||||
|
* PHP Version 5.5.
|
||||||
|
*
|
||||||
|
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
|
||||||
|
*
|
||||||
|
* @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
|
||||||
|
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
|
||||||
|
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
|
||||||
|
* @author Brent R. Matzelle (original founder)
|
||||||
|
* @copyright 2012 - 2020 Marcus Bointon
|
||||||
|
* @copyright 2010 - 2012 Jim Jagielski
|
||||||
|
* @copyright 2004 - 2009 Andy Prevost
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @note This program is distributed in the hope that it will be useful - WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace PHPMailer\PHPMailer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHPMailer exception handler.
|
||||||
|
*
|
||||||
|
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
||||||
|
*/
|
||||||
|
class Exception extends \Exception
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Prettify error message output.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function errorMessage()
|
||||||
|
{
|
||||||
|
return '<strong>' . htmlspecialchars($this->getMessage()) . "</strong><br />\n";
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -2,12 +2,18 @@
|
||||||
include "zefixAPI.php";
|
include "zefixAPI.php";
|
||||||
include "read_write_xlsx.php";
|
include "read_write_xlsx.php";
|
||||||
|
|
||||||
|
require_once "PHPMailer.php";
|
||||||
|
require_once "SMTP.php";
|
||||||
|
require_once "Exception.php";
|
||||||
|
|
||||||
|
use PHPMailer\PHPMailer\PHPMailer;
|
||||||
|
|
||||||
$maxExecutionTime = 300;
|
$maxExecutionTime = 300;
|
||||||
$taskDir = 'tasks';
|
$taskDir = 'tasks';
|
||||||
$downloadDir = 'download';
|
$downloadDir = 'download';
|
||||||
$minTaskOldness = 30;
|
$minTaskOldness = 30;
|
||||||
$latesEndTime = time() + $maxExecutionTime;
|
$latesEndTime = time() + $maxExecutionTime;
|
||||||
|
$smtppassword = getenv("smtppassword");
|
||||||
|
|
||||||
if(!is_dir($downloadDir)){
|
if(!is_dir($downloadDir)){
|
||||||
mkdir($downloadDir, 0755, true);
|
mkdir($downloadDir, 0755, true);
|
||||||
|
@ -43,22 +49,36 @@ function doRequest($data, $filename, $username, $password)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function sendEmail($emailAddress, $filename)
|
function sendEmail($emailAddress, $filename, $smtppassword)
|
||||||
{
|
{
|
||||||
echo "sending ".$filename." too ".$emailAddress;
|
$mail = new PHPMailer();
|
||||||
$to = $emailAddress;
|
|
||||||
$subject = "Ihr Export von Zefix ist bereit";
|
|
||||||
$message = "Nutzen Sie den folgenden Link um ihre Daten herunterzuladen. Die Daten werden nach 48 Stunden automatisch von unserem Server gelöscht.\nhttps://zefix.silias.ch/".$filename;
|
|
||||||
$headers = "From: api@zefix.silias.ch\r\n";
|
|
||||||
$headers .= "Reply-To: info@silias.ch\r\n";
|
|
||||||
$headers .= "MIME-Version: 1.0\r\n";
|
|
||||||
$headers .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
|
|
||||||
|
|
||||||
if (mail($to, $subject, $message, $headers)) {
|
$mail->isSMTP(); // Set mailer to use SMTP
|
||||||
echo "Email sent successfully!";
|
$mail->Host = 'smtp.titan.email; smtp.titan.email'; // Specify main and backup SMTP servers
|
||||||
} else {
|
$mail->SMTPAuth = true; // Enable SMTP authentication
|
||||||
echo "Email sending failed.";
|
$mail->Username = 'api@zefix.silias.ch'; // SMTP username
|
||||||
|
$mail->Password = $smtppassword; // SMTP password
|
||||||
|
$mail->SMTPSecure = 'SSL'; // Enable TLS encryption, `ssl` also accepted
|
||||||
|
$mail->Port = 465; // TCP port to connect to
|
||||||
|
|
||||||
|
$mail->isHTML(true);
|
||||||
|
$mail->setFrom('web@silias.ch', 'Silias Zefix Export');
|
||||||
|
$mail->addAddress($emailAddress);
|
||||||
|
$mail->addReplyTo('info@silias.ch', 'Silias KLG');
|
||||||
|
$mail->Subject = 'Ihr Export von Zefix ist bereit';
|
||||||
|
$mail->Body = 'Nutzen Sie den folgenden Link um ihre Daten herunterzuladen. Die Daten werden nach 48 Stunden automatisch von unserem Server gelöscht.\n<a href="https://zefix.silias.ch/'.$filename.'">https://zefix.silias.ch/'.$filename.'</a>';
|
||||||
|
|
||||||
|
if($mail->send()){
|
||||||
|
$status = "success";
|
||||||
|
$response = "Email is sent!";
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
$status = "failed";
|
||||||
|
$response = "Something is wrong: <br>" . $mail->ErrorInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Email status:".$status;
|
||||||
|
echo "Email Response:".$response;
|
||||||
}
|
}
|
||||||
// Stop executing bevore reaching PHP Max Execution Time
|
// Stop executing bevore reaching PHP Max Execution Time
|
||||||
function convertcsvToXlsx(string $csvFile, string $xlsxFile)
|
function convertcsvToXlsx(string $csvFile, string $xlsxFile)
|
||||||
|
@ -105,7 +125,7 @@ while($latesEndTime - time() > 60){
|
||||||
else {
|
else {
|
||||||
convertcsvToXlsx(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]));
|
convertcsvToXlsx(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]));
|
||||||
unlink(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]));
|
unlink(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]));
|
||||||
sendEmail($task['email'], str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]));
|
sendEmail($task['email'], str_replace(".json", ".xlsx", $downloadDir.'/'.$taskfiles[0]), $smtppassword);
|
||||||
unlink($taskDir.'/'.$taskfiles[0]);
|
unlink($taskDir.'/'.$taskfiles[0]);
|
||||||
echo "Task File deleted";
|
echo "Task File deleted";
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
|
|
|
@ -4,7 +4,6 @@ $username = getenv("username");
|
||||||
$password = getenv("password");
|
$password = getenv("password");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $
|
* @param string $
|
||||||
* @param string $
|
* @param string $
|
||||||
|
|
Loading…
Reference in New Issue