Mam problemy z próba ustawienia e-maila dynamicznie z zmiennej uzyskiwania. Próbowałem już konwertować się do sznurka, ale coraz robiąc: "Błąd maila: musisz podać co najmniej jeden adres e-mail odbiorcy".

$destinationEmail = $_GET["email"];

  //$destinationEmail = (string)$_GET["email"]; ----> already tried this.

function sendEmail($pdf,$data){

$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "xxxxxx";
$mail->Password = "xxxx";
$mail->SetFrom("Noreply@email.com");
$mail->Subject = "Subject";
$mail->Body = "Hello";
$mail->AddAddress($destinationEmail);
$mail->addStringAttachment($pdf,"pdf.pdf");

 if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
    echo "Message has been sent";
 }
}

if ( $_GET["email"] ){
    sendEmail($pdf,$data);
}


Jakakolwiek pomoc będzie doceniona. Z góry dziękuję!

0
diacode 15 styczeń 2020, 19:18

1 odpowiedź

Najlepsza odpowiedź

Funkcja sendEmail() nie wie o adresie e-mail, ponieważ zmienna ta jest poza zakresem. Musisz przejść zmienną $destinationEmail do funkcji {x2}}:

function sendEmail($pdf,$data,$destinationEmail){
 ...
}

A następnie dodaj adres e-mail do połączenia funkcji:

if ( $_GET["email"] ){
    sendEmail($pdf,$data,$destinationEmail);
}
1
cOle2 15 styczeń 2020, 16:23