Jump to content

lucasdgimenez

New Members
  • Posts

    1
  • Joined

  • Last visited

lucasdgimenez's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. I'm working on a project built with php slim, where I have a registration screen that when clicking on register triggers the /register route of the parent route "/clients" This is the error: PHP Warning: file_get_contents(http://localhost:8080/assets/mail/template.html): failed to open stream: HTTP request failed! $templateMail = file_get_contents(self::$templateMail); $message = str_replace('HTMLMessage', $message, $templateMail); This is the line where the error occurs The complete file is called Email.php <?php namespace App\Services; ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); use PHPMailer\PHPMailer\PHPMailer; class Email { private static $HOST = EMAIL_HOST; private static $LOGIN = EMAIL_LOGIN; private static $PASS = EMAIL_PASS; private static $PORT = EMAIL_PORT; private static $SMTPSecure = EMAIL_SMTP_SECURE; private static $SMTPAuth = EMAIL_SMTP_AUTH; private static $templateMail = BASEURL . 'assets/mail/template.html'; public static function send(String $toEmail, String $toName, String $subject, String $message, String $replyTo = null, String $replyToName = null, $attachments = null, $copyTo = null) { if (ENV == 'local') { $toEmail = 'caleksitch@hotmail.com'; //$toEmail = 'lucasdgimenez@gmail.com'; $subject = "Teste Fundamenta - {$subject}"; } /*$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, self::$templateMailURL); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $templateMail = curl_exec($curl); if ($templateMail === false) { throw new \Exception("Failed to fetch template using cURL: " . curl_error($curl)); } curl_close($curl);*/ $templateMail = file_get_contents(self::$templateMail); $message = str_replace('HTMLMessage', $message, $templateMail); $mail = new PHPMailer; $mail->isSMTP(); $mail->CharSet = 'UTF-8'; $mail->SMTPDebug = 0; //2 para modo debug $mail->Host = self::$HOST; $mail->Port = self::$PORT; $mail->SMTPSecure = self::$SMTPSecure; $mail->SMTPAuth = self::$SMTPAuth; $mail->Username = self::$LOGIN; $mail->Password = self::$PASS; $mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); $mail->setFrom(self::$LOGIN, 'Fundamenta'); $mail->Subject = $subject; $mail->Body = $message; $mail->IsHTML(true); if ($replyTo !== null) { $mail->addReplyTo(trim($replyTo), $replyToName); } $mail->addAddress(trim($toEmail), $toName); if ($copyTo) { for ($i = 0; $i < sizeof($copyTo); $i++) { $mail->addCC($copyTo[$i]); } } if ($attachments) { foreach ($attachments as $attachment) { $mail->addAttachment($attachment[0], $attachment[1]); } } if (!$mail->send()) { throw new \Exception($mail->ErrorInfo); } } } I've already tried to google this problem and most indicate curl's solution instead of file_get_contents, the problem is that when trying to implement this curl solution (which is commented in the code above) the system runs an infinite loading, I don't know exactly which one that could be the problem. The php version is 7.4 and the apache version is 2.4.52
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.