fixing E-Mail

This commit is contained in:
schrom01
2023-09-25 23:49:38 +02:00
parent a2c4e969ff
commit 3565c271d4
5 changed files with 6461 additions and 16 deletions
+35 -15
View File
@@ -2,12 +2,18 @@
include "zefixAPI.php";
include "read_write_xlsx.php";
require_once "PHPMailer.php";
require_once "SMTP.php";
require_once "Exception.php";
use PHPMailer\PHPMailer\PHPMailer;
$maxExecutionTime = 300;
$taskDir = 'tasks';
$downloadDir = 'download';
$minTaskOldness = 30;
$latesEndTime = time() + $maxExecutionTime;
$smtppassword = getenv("smtppassword");
if(!is_dir($downloadDir)){
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;
$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";
$mail = new PHPMailer();
if (mail($to, $subject, $message, $headers)) {
echo "Email sent successfully!";
} else {
echo "Email sending failed.";
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.titan.email; smtp.titan.email'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$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
function convertcsvToXlsx(string $csvFile, string $xlsxFile)
@@ -105,7 +125,7 @@ while($latesEndTime - time() > 60){
else {
convertcsvToXlsx(str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), str_replace(".json", ".xlsx", $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]);
echo "Task File deleted";
echo "<br>";