From ab69d78a5f89466dd13c77ba6dbbacd36c5acb09 Mon Sep 17 00:00:00 2001 From: Milan Toman Date: Thu, 29 Feb 2024 10:37:08 +0100 Subject: [PATCH] email confirmation added --- www/confirm.php | 2 ++ www/lib/write_registered.php | 61 ++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/www/confirm.php b/www/confirm.php index 4a2e559..4cf041d 100644 --- a/www/confirm.php +++ b/www/confirm.php @@ -4,6 +4,7 @@ foreach($races as $race){ $race_blob[$race['ID']] = $race['NAME']; } + $servername = "db"; $username = 'kalskeborec'; $password = 'Kalskeborec1!23$'; @@ -57,6 +58,7 @@ $confirm_success = ["result"=> False, "reason" => "Error: Já tě fakt nemám zapsaného, dej vědět Ventilovi"]; } $conn->close(); + //phpinfo() ?> diff --git a/www/lib/write_registered.php b/www/lib/write_registered.php index 594f282..fed13f5 100644 --- a/www/lib/write_registered.php +++ b/www/lib/write_registered.php @@ -3,6 +3,13 @@ $servername = "db"; $username = 'kalskeborec'; $password = 'Kalskeborec1!23$'; $db = 'kalskeborec'; +$race_name = $race_blob[$race_to_write]; +// mail send + function read_cb($ch, $fp, $length) { + return fread($fp, $length); + } + + // Create connection $conn = new mysqli($servername, $username, $password, $db); @@ -40,7 +47,61 @@ if($unique_email){ } $write_success = ["result"=> True, "reason" => "Přihlášeno"]; $logged_racer = $racers[0]; + $id = $logged_racer['ID']; // Must send email somehow. :-) + $fp = fopen('php://memory', 'r+'); + $string = "From: Kalské Borec \r\n"; + $string .= "To: <$email>\r\n"; + $string .= "Date: " . date('r') . "\r\n"; + $string .= "Subject: Kalske Borec\r\n"; + $string .= "Content-Type: text/html; charset=\"utf-8\""; + $string .= "Content-Transfer-Encoding: quoted-printable"; + $string .= "\r\n"; + $string .= "Děkuji, $fname $lname, za registraci na Kalského Borca //24 +

Jako první věc, poprosím o potvrzení emailu na + \"http://$base_url/confirm.php?email_check=$email_check\"

+

Pod tímto odkazem pak můžeš sledovat jestli s tebou počítám, nebo stav zaplacení startovného.

\r\n +

+ Číslo registrace: $id
+ Okruh, resp. závod: $race_to_write ($race_name)
+ Pod přezdívkou: $nick
+

+

+ Startovné: 400,-
+ Číslo účtu: 1262023012/3030
+ Zpráva: Kalské Borec 24, $id
+ VS: $id
+ + +

+ +

Kolu zdar,
+

Milan \"Ventil\" Toman

"; + $string .= "\r\n"; + fwrite($fp, $string); + rewind($fp); + + $ch = curl_init(); + curl_setopt_array($ch, [ + CURLOPT_URL => 'smtps://mail.spoton.cz', + CURLOPT_MAIL_FROM => '', + CURLOPT_MAIL_RCPT => ["<$email>"], + CURLOPT_USERNAME => 'ventil', + CURLOPT_PASSWORD => '3 litry Kvasaru!', + CURLOPT_USE_SSL => CURLUSESSL_ALL, + CURLOPT_READFUNCTION => 'read_cb', + CURLOPT_INFILE => $fp, + CURLOPT_UPLOAD => true, + CURLOPT_VERBOSE => true, + CURLOPT_SSL_VERIFYHOST => false, + CURLOPT_SSL_VERIFYPEER => false, + ]); + $x = curl_exec($ch); + if ($x === false) { + echo curl_errno($ch) . ' = ' . curl_strerror(curl_errno($ch)) . PHP_EOL; + } + curl_close($ch); + fclose($fp); } else{ $write_success = ["result"=> False, "reason" => "Error: Duplikátní záznam závodnika, napiš Ventilovi"];