SMTP authentificatie wil niet lukken...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Swaenie -

swaenie -

05/05/2016 15:01:54
Quote Anchor link
Mijn website wordt gehost bij een host-provider. Het verzenden van e-mail m.b.v. mijn scripts lukt wel, maar e-mail komt regelmatig om onduidelijke redenen niet aan of in de spam-box.
Omdat ik als afzenderadres een Gmail-adres gebruik, raadt mijn provider me aan SMTP authentificatie toe te passen.

Al geruime tijd ben ik aan het googelen en testen van scripts, maar het wil niet lukken.

Bij het activeren van onderstaand script:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
require_once('phpmailer/class.phpmailer.php');

$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

$mail->IsSMTP(); // telling the class to use SMTP

$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
$mail->SMTPAuth   = true;                // enable SMTP authentication
$mail->SMTPSecure = "tls";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";     // sets GMAIL as the SMTP server
$mail->Port       = 587;                 // set the SMTP port for the GMAIL server
$mail->Username   = "myname@gmail.com"; // GMAIL username
$mail->Password   = "mypassword";       // GMAIL password

$mail->AddReplyTo('myname@gmail.com', 'First Last');

$mail->AddAddress('externaddress@gmail.com', 'John Doe');

$mail->SetFrom('myname@gmail.com', 'First Last');

$mail->Subject    = 'PHPMailer Test Subject via mail(), advanced';

$mail->AltBody    = 'To view the message, please use an HTML compatible email viewer!';

$mail->Body       = 'Message';

if ($mail->Send()){
    echo "Message Sent";
}

else{
    echo "Mailer Error: " . $mail->ErrorInfo;
}

?>


krijg ik de volgende melding:
Quote:
SMTP -> FROM SERVER:220 smtp.gmail.com ESMTP d1sm9565623wjb.47 - gsmtp
SMTP -> FROM SERVER: 250-smtp.gmail.com at your service, [84.244.181.122] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8
SMTP -> FROM SERVER:220 2.0.0 Ready to start TLS
SMTP -> FROM SERVER: 250-smtp.gmail.com at your service, [84.244.181.122] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8
SMTP -> ERROR: Password not accepted from server: 534-5.7.14 Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14 Learn more at 534 5.7.14 https://support.google.com/mail/answer/78754 d1sm9565623wjb.47 - gsmtp
SMTP -> FROM SERVER:250 2.1.5 Flushed d1sm9565623wjb.47 - gsmtp


Ik hoop dat iemand een oplossing heeft.
 
PHP hulp

PHP hulp

17/09/2019 03:28:58
 
Pipo Clown

Pipo Clown

05/05/2016 17:40:35
Quote Anchor link
SMTP werkt over het algemeen alleen goed wanneer je een internetverbinding hebt via je eigen provider.

Wanneer je (bijvoorbeeld) een wifi verbinding in de bibliotheek gebruikt zal over het algemeen een SMTP instelling van je eigen provider niet werken om mail te verzenden.
 
Ozzie PHP

Ozzie PHP

05/05/2016 17:49:22
Quote Anchor link
Ik neem aan dat je hier al gekeken hebt?

https://support.google.com/mail/answer/14257?rd=1
 
Swaenie -

swaenie -

06/05/2016 11:20:03
Quote Anchor link
@Ozzie PHP:
Het is gelukt, maar ik schaam me. Ben de pagina eerder tegengekomen en meen het geprobeerd te hebben. Kan het zijn dat ik na uitvoeren te lang hebt gewacht met inloggen in mijn Gmail-account?

In ieder geval het werkt. Heel erg bedankt..!!
 
Ozzie PHP

Ozzie PHP

06/05/2016 12:28:25
Quote Anchor link
>> Ben de pagina eerder tegengekomen ...

Die pagina daar kom je op terecht door op de link in de foutmelding te klikken ;-)

Goed dat het weer werkt nu! :-)
 
Thomas van den Heuvel

Thomas van den Heuvel

06/05/2016 15:28:25
Quote Anchor link
By the way:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// ...
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
// ...

?>

Dan zouden verdere aanroepen toch ook in een (wellicht in een hoger gelegen code-blok?) try-catch blok
moeten staan?

Een niet gevangen exception resulteert altijd in een fatal error. Sommige exception berichten (*kuch*PDO*kuch*) bevatten gevoelige informatie zoals wachtwoorden enzo. Wellicht loont het de moeite dat als je deze constructie hanteert in een live omgeving om na te gaan wat de gevolgen zijn als dit misgaat.
Gewijzigd op 06/05/2016 15:29:21 door Thomas van den Heuvel
 
Swaenie -

swaenie -

07/05/2016 07:21:45
Quote Anchor link
@Thomas: Dit gaat me helaas boven m'n pet... ;-)

Ik zie in scripts over het algemeen wel staan phpmailer(), zonder true. Maar weglaten dan?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/05/2016 08:54:03
Quote Anchor link
Eventueel weglaten wanneer alles goed werkt. Zolang dat niet het geval is dan aan laten staan. PHPMailer geeft dan foutmeldingen waarop jij dan weer actie kunt ondernemen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.