Avatar billede riefart Seniormester
22. december 2017 - 00:20 Der er 19 kommentarer og
1 løsning

PHPMailer

Jeg har brugt nogle timer på google for at finde ud af hvordan jeg installerer og sætter phpmailer op, og jeg er ikke i nærheden af at være blevet klogere.
Kan nogen venligst hjælpe mig med hvordan PHPMailer installeres og sættes op?
Avatar billede Slater Ekspert
22. december 2017 - 07:16 #1
Jeg går ud fra du ikke bruger Composer?

Du skal sådan set bare hente filerne, lægge dem et sted, inkludere dem (via require 'sti/til/filen/PHPMailer.php'; og require 'sti/til/filen/SMTP.php';), og så er du klar til at lave en $mailer = new PHPMailer;
Avatar billede riefart Seniormester
22. december 2017 - 08:08 #2
Jeg har hentet zip-filen på https://github.com/PHPMailer/PHPMailer, men i de tutorials jeg har set og læst skal jeg også bruge filen 'autoload.php', som ikke er i den hentede filmappe.
Jeg har derimod ikke set hvor jeg skal lave "require 'sti/til/filen/SMTP.php';"
Kan du hjælpe yderligere.
Avatar billede Slater Ekspert
22. december 2017 - 08:52 #3
autoload.php er til hvis du bruger Composer, hvilket du ikke gør, så det skal du ikke.

Stien kommer an på hvor du har lagt filerne. Hvis vi f.eks. antager, du har lagt dem i en undermappe i roden af dit website, som hedder PHPMailer, så skal du inkludere:

require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';

Dette gøres bare før det PHP-kode der skal bruge PHPMailer.
Avatar billede riefart Seniormester
22. december 2017 - 13:04 #4
Det er nærmest så ligeti, det kan værel. Jeg har gjort som du skriver men får alligevel følgende fejl:
Fatal error: Class 'PHPMailer' not found in /var/www/riefart.dk/public_html/kunder/tagdetmed/index.php on line 98
Har du mere tålmodighed?
Avatar billede Slater Ekspert
22. december 2017 - 13:33 #5
Selvfølgelig, men jeg kan ikke lige regne ud, hvad der går galt ud fra dette. På en eller anden måde får den tilsyneladende ikke loadet klassen rigtigt, men jeg er nok nødt til at se noget af det omkringliggende kode for at hjælpe.

Du må have skrevet stien korrekt, da require ellers smider en fejl.
Avatar billede Rune1983 Ekspert
22. december 2017 - 13:38 #6
Prøv at bruge følgende i stedet
require 'PHPMailer/class.phpmailer.php';
Avatar billede riefart Seniormester
22. december 2017 - 13:51 #7
Slater:
Hvad vil det hjælpe at jeg poster?

Rune1983:Jeg prøvede, men fik fejlen:
Warning: require(PHPMailer/src/class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in /var/www/riefart.dk/public_html/kunder/tagdetmed/index.php on line 97
samt:
Fatal error: require() [function.require]: Failed opening required 'PHPMailer/src/class.phpmailer.php' (include_path='.') in /var/www/riefart.dk/public_html/kunder/tagdetmed/index.php on line 97
Avatar billede Rune1983 Ekspert
22. december 2017 - 13:56 #8
Min ligger her og fungere.
PHPMailer/class.phpmailer.php

Du har en mappe ekstra og skriver "src". Det har min ikke. Prøv lige med det.
PHPMailer/src/class.phpmailer.php
Avatar billede riefart Seniormester
22. december 2017 - 14:11 #9
Rune1983:
Jeg har allerede prøvet med begge udgaver - med og uden 'src', men med samme (u)held.
Jeg har hentet mappen som du kan se i #2.
Er din hentet et andet sted?
Avatar billede Rune1983 Ekspert
22. december 2017 - 14:22 #10
Det er ved at være et stykke tid siden jeg hentede min. Måske din version er nyere.
I min PHPMailer mappe har jeg en mappe der hedder Examples. Prøv se om du har en ligeså. Prøv åben en af dem. Måske du kan regne koden ud derfra. Det var sådan jeg fik det til at virke i tidernes morgen.
Avatar billede riefart Seniormester
22. december 2017 - 14:39 #11
Ingen mappe der hedder 'Examples'. Ved du hvilken version du har hentet?
Avatar billede nemlig Professor
22. december 2017 - 16:55 #12
Hejsa.
Her er et eksempel, på hvordan jeg bruger PhpMailer():
Hvis du skal sende gennem SMTP-server med autorisation, så spørg lige til eksempel:

require ('sti/class.phpmailer.php'); //Husk at rette sti
$mail = new PHPMailer();   
$mail->Host     = 'localhost'; //Hvis der ikke sendes gennem SMTP-Server
$mail->setFrom('afsender@email.dk', 'Mads Madsen'); //NOGEN WEBHOTELLER KRÆVER, AT DER ANVENDES EN MAILADRESSE, DER ER OPRETTET PÅ DET DOMÆNE, HVORFRA DER SENDES
$mail->addReplyTo('afsender@email.dk', 'Mads Madsen'); //NOGEN WEBHOTELLER KRÆVER, AT DER ANVENDES EN MAILADRESSE, DER ER OPRETTET PÅ DET DOMÆNE, HVORFRA DER SENDES
$mail->msgHTML('Dette er beskeden, der sendes. Der kan anvendes HTML-koder, fx. <b>Fed skrift </b>');
$mail->AltBody         = 'Beskenden skrevet i plain tekst.';
$mail->Subject         = 'Emailoverskrift';
$mail->AddAddress('modtager@email.dk'); //Modtagers mailadresse

if(!$mail->Send()) {
    echo "Der er sket en fejl ved afsendelse af email. Fejlen er: ".$mail->ErrorInfo;
} else {
    echo "Jubii - det lykkedes";
}
Avatar billede riefart Seniormester
22. december 2017 - 18:06 #13
Nemlig:
Det er også sådan jeg har lavet scriptet. Jeg har dog ikke 'class.phpmailer.php' i det bibliotek jeg har hentet (6.0.0)
Kan du se hvilken version du anvender og evt, hvor den kan hentes?
Avatar billede Slater Ekspert
22. december 2017 - 21:34 #14
Som sagt ville require også smide en fejl, hvis den ikke kunne finde filen. Vi ved altså at du har brugt den rigtige sti, og alle forslag om at stave det på en anden måde er ikke nyttige.
Avatar billede riefart Seniormester
22. december 2017 - 22:23 #15
Slater:
Kan jeg poste noget kode, som måske kan kaste lys over problemet. Hvad vil du i givet fald skulle bruge?
Avatar billede nemlig Professor
22. december 2017 - 22:48 #16
Jeg bruger denne version af PHPmailer, og som fungerer fint under PHP 5.6 og PHP 7.?

www.fam-johansen.dk/PHPmailer.zip


Det vil fungere med koden under #12.
Avatar billede nemlig Professor
23. december 2017 - 00:07 #17
#16 Det er version 5.2.1.

Ønsker du at bruge version 6.0, så er der en udmærket dokumentation her:

https://github.com/PHPMailer/PHPMailer/blob/master/README.md
Avatar billede riefart Seniormester
23. december 2017 - 01:37 #18
Tusind tak for hjælpen, nemlig.
Så lykkedes det med dit script.
Avatar billede Slater Ekspert
23. december 2017 - 08:46 #19
Hvad var forskellen så?
Avatar billede riefart Seniormester
27. december 2017 - 01:01 #20
Forskellen var at jeg brugte nemlig's version og lavede et kald til class.phpmailer.php.
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