Avatar billede slein55 Mester
10. oktober 2023 - 11:29 Der er 10 kommentarer

PHPmailer problem

jeg sender gruppemail og med disse linier
$fraemail = 'min@email.dk';
og sendmail kører i en while løkke
$mail->setFrom($fraemail);
det kører fint

men hvis jeg sætter
$fraemail= $_SESSION['email'];
for at få email fra den der er logget ind så melder PHPmailer fejl efter der er sendt 1 mail
jeg har prøvet at sætte $_SESSION['email'] ind som subject og det viser den rigtige email fra $_SESSION hvad kan problemet være
Avatar billede repox Seniormester
10. oktober 2023 - 12:15 #1
Hvilken fejl melder den?
Avatar billede arne_v Ekspert
10. oktober 2023 - 15:13 #2
Nogle små potentielle komplikationer som leading spaces, trailing spaces etc.?
Avatar billede slein55 Mester
10. oktober 2023 - 18:40 #3
den meldte fejl i PHPmailer, men nu ser det ud til at virke men kun når jeg bruger en email med mit eget domæne, måske jeg skulle prøve med SMPT hvor jeg logger ind på gmail
Avatar billede repox Seniormester
10. oktober 2023 - 19:17 #4
... men hvilken fejl meldte den?

Du ringer vel heller ikke til din mekaniker og siger der er noget galt med den, uden at fortælle hvad det er du oplever?
Avatar billede slein55 Mester
10. oktober 2023 - 19:38 #5
her er fejlmeddelsen:
Fatal error: Uncaught Error: Class "PHPMailer\PHPMailer\Exception" not found in /customers/1/d/1/mitdomæne.dk/httpd.www/subdir/src/PHPMailer.php:1966 Stack trace: #0 /customers/1/d/1/mitdomæne.dk/httpd.www/subdir/src/PHPMailer.php(1680): PHPMailer\PHPMailer\PHPMailer->mailSend('Date: Tue, 10 O...', 'asdasd\r\n') #1 /customers/1/d/1/mitdomæne.dk/httpd.www/subdir/src/PHPMailer.php(1516): PHPMailer\PHPMailer\PHPMailer->postSend() #2 /customers/1/d/1/mitdomæne.dk/httpd.www/subdir/emailliste.php(61): PHPMailer\PHPMailer\PHPMailer->send() #3 {main} thrown in /customers/1/d/1/mitdomæne.dk/httpd.www/subdir/src/PHPMailer.php on line 1966
Avatar billede repox Seniormester
10. oktober 2023 - 20:39 #6
Den fejl du får indikerer at du refererer et ukendt objekt.

Har du mulighed for at dele hele den kodeblok som emnet drejer sig om?
Avatar billede slein55 Mester
11. oktober 2023 - 09:16 #7
alternativt kunne det være ok hvis man kunne lave så hvis mailen blev besvaret så blev det til den mail der tilhører den der har sendt det
her er min kode hvis der er en smartere måde så er jeg modtagelig:
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    $msg = "send besked til alle";
    $fraemail = 'mail@mitdomæne.dk';    // det er denne email der være @mitdomæne.dk for det virker ellers sender den kun til mail der er @mitdomæne.dk

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ){
    include '_dbconnect.php';
    $subject = ($_POST['subject']);
    $besked = ($_POST['besked']);
    $sql = "SELECT * FROM database where isEmailConfirmed =1 ";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
        echo '<h3>der er sendt email med besked til:</h3>';
        while($row = mysqli_fetch_assoc($result)) {
            include_once "src/PHPMailer.php";
            $email=$row['email'];
            $mail = new PHPMailer();
            $mail->setFrom($fraemail);
            $mail->addAddress($email);
            $mail->Subject = $subject;
            $mail->isHTML(true);
            $mail -> CharSet = "UTF-8";
            $mail->Body = nl2br($besked);
            if ($mail->send())
                echo "<h3>",$email,"</h3>";
            else
                echo "Noget gik galt! Prøv igen!";
        }
        echo "<br><a href='https://mitdomæne.dk' class='button'>retur til liste</a><br>";
        exit;
    } else { $msg = "0 results";}
}
Avatar billede ejvindh Ekspert
11. oktober 2023 - 09:42 #8
Så vidt jeg kan se mangler du require-sætningerne:
https://github.com/PHPMailer/PHPMailer#installation--loading
Avatar billede slein55 Mester
11. oktober 2023 - 13:49 #9
jeg bruger include det hele virker men kun hvis det er fra @mitdomæne .dk
problemet er hvis der skal sendes fra en anden mailadr.
Avatar billede arne_v Ekspert
12. oktober 2023 - 19:27 #10
Fatal error: Uncaught Error: Class "PHPMailer\PHPMailer\Exception" not found

use PHPMailer\PHPMailer\Exception;

syne jeg antyder at:
- der sker "noget" som får PHP til at ville smide en PHPMailer\PHPMailer\Exception
- PHP kan ikke finde den klasse

Manglende upload af Exception.php? Manglende include eller manglende setup af classloader?

My hypotese er at hvis du får løst det problem så vil du få bedre fejlmeddelser og dermed nemmere ved at finde det egentlige problem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester