23. oktober 2013 - 20:21Der er
22 kommentarer og 1 løsning
Gode råd til mail() funktion med flere modtagere
Jeg er ved at lave mig en lille nyhedsbrev på min hjemmeside. Har lavet tilmeldningsdelen, og mangler lidt råd til afsendelsen. Har lavet det med mail()-funktionen, og er lidt usikker på om det er fornuftigt at gøre det på den måde.
Tænker på om der er noget "forkert" i at gøre det på den måde. Jeg er nysgerrig om jeg kan få problemer med at ikke alle modtagere får mailen, hvis der kommer mange modtagere, og hvorvidt det er ressourcekrævende at gøre det på den måde?
Det kommer an på flere ting. For det første, om dit webhotel vil acceptere mange modtagere af den samme mail. Jeg har selv haft problemet med TDCwebmore, hvor jeg var nødt til at omprogrammere fra begyndelsen og inkludere flere hjælpefiler: class.phpmailer.php og class.smtp.php. For det andet hvor i programmeringen du placerer selve nyhedsbrevet. Fx som $Nyhedsbrev?
#1: Havde jeg også overvejet. Læste i php-manualen (http://php.net/manual/en/function.mail.php) at det ikke var så smart da er ret så ressourcekrævende. Så anbefaler de PEAR (hvilket jeg syntes så lidt omstændigt ud). Hvor mange sendte du mails til med loop? Sådan i runde tal...
#2: Jeg har den hostet hos ONE, så har ikke selv indflydelse på serveropsætning. Selvenyhedsbrevet ligger $besked. Det er en længere HTML-kode, den er bare ikke medtaget her.
Mit projekt gik ud på at sende en mail fra en formular dels til en indtastet e-mail og dels til en fast e-mail nemlig firmaet. Det er derfor lidt anderledes i problemstillingen. Hos TDC røg den ene mail i spamfiltret, men hos webhosting gik begge glat igennem. Hvis jeg skulle lave afsendelsesdelen vil jeg derfor foretrække at bruge class.phpmailer.php og class.smtp.php. PEAR har jeg vist kigget på, men kan ikke huske, hvorfor jeg opgav det. til mit brug virker hjælpefilerne ikke ressourcekrævende, det virker på brøkdele af et sekund.
programmerne skal ligge i samme mappe som din kodeside. du kalder programmerne fra din kodeside:
require_once('class.phpmailer.php'); include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); osv (koden fortsætter)
koden i phpmaileren kan rettes lidt til efter individuelle behov.
Det må jeg lige få kigget på engang. Hvor meget opsætning er der til at få det integreret? Tænker om det "bare" er at skrive info på mail og smtp, og så kører det, eller om der 5-6 ting der skal spille sammen før det virker?
echo " <h2>Formularen er blevet sendt med disse oplysninger: ".$email."</br> Emne: ".$emne." </h2>";
} } }
Den sidste besked på skærmen kan naturligvis undlades. Men den er udmærket, når man sender fra en formular, fordi den med det samme fortæller, at alt er gået som det skulle.
Succes, fik endeligt loaded siderne koden korrekt. Nu er den så bare gal med login'et :(
Får fejlen: 2013-10-26 15:31:20 SMTP ERROR: Failed to connect to server: Connection timed out (110) SMTP connect() failed. Mailer Error: SMTP connect() failed.
Har hostet min side hos one.com, nogen der kan hjælpe mig med deres opsætning?
Har forsøgt følgende:
$mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "send.one.com"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "send.one.com"; // sets the SMTP server $mail->Port = "465"; // set the SMTP port for the GMAIL server $mail->Username = "mail@domæne.dk"; // SMTP account username $mail->Password = "kode-til-mail"; // SMTP account password $mail->From = "mail@domæne.dk";
ja, den skulle være god nok ifølge one.com's hjemmeside. Så er det bare den med at de bruger SSL-godkendelse. Det ved jeg ikke om er nødvendigt at sætte op.
men der skal ikke laves nogle indstillinger i "class.phpmailer.php eller class.smtp.php" for at det burde virke?
Det lykkedes til sidst. Tog fat i min udbyder. De havde åbenbart en anden SMTP når det var fra php sider. Smid et svar så får du point, og mange tak for hjælpen :)
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.