Kom ihåg mig?
Home Menu

Menu


skicka php massmejl

 
Ämnesverktyg Visningsalternativ
Oläst 2010-08-18, 10:17 #1
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Ditt webbhotell har förmodligen en gräns på hur många mail man får skicka. Det webbhotell jag använder har en gräns på 700 mail per timma, oavsett hur de skickas. Skickas fler mail än detta så tror jag man blir svartlistad.

Sen bör du inte använda PHP:s mail()-funktion för att skicka många mail i en loop. Den öppnar och stänger anslutningen till mailservern för varje mail den skickar. Det är onödigt och tar extra prestanda och tid.

Använd hellre PEAR::mail, eller min favorit PHPMailer, där du kan skicka mail till många mottagare "separat" utan att koppla ner anslutningen för varje mail. Dessutom är PHPMailer otroligt enkel att använda. Man behöver inte tänka på headers osv. om man inte vill...
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-18, 11:09 #2
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
robincox robincox är inte uppkopplad
Flitig postare
 
Reg.datum: Aug 2008
Inlägg: 301
Citat:
Ursprungligen postat av qson Visa inlägg
Ditt webbhotell har förmodligen en gräns på hur många mail man får skicka. Det webbhotell jag använder har en gräns på 700 mail per timma, oavsett hur de skickas. Skickas fler mail än detta så tror jag man blir svartlistad.

Sen bör du inte använda PHP:s mail()-funktion för att skicka många mail i en loop. Den öppnar och stänger anslutningen till mailservern för varje mail den skickar. Det är onödigt och tar extra prestanda och tid.

Använd hellre PEAR::mail, eller min favorit PHPMailer, där du kan skicka mail till många mottagare "separat" utan att koppla ner anslutningen för varje mail. Dessutom är PHPMailer otroligt enkel att använda. Man behöver inte tänka på headers osv. om man inte vill...
Jag testade lite med phpMailer och det verkar funka. Bara en fråga, ska jag använda sendmail eller mail?

Senast redigerad av robincox den 2010-08-18 klockan 11:38
robincox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-18, 11:33 #3
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Enkelt exempel på att använda PHPMailer:
PHP-kod:
<?php

$mejl
[0] = '[email protected]';
$mejl[1] = '[email protected]';
$mejl[2] = '[email protected]';
/* ...och så vidare till nr. 800... */

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // använd SMTP-server
$mail->Host     "smtp.example.com"// SMTP server

$mail->From     "[email protected]";     // Avsändar-adressen

foreach ($mejl as $mejladress) {
  
$mail->AddAddress($mejladress); // Mottagar-adressen
}

$mail->Subject  "Mitt första PHPMail";     // Rubriken
$mail->Body     "Ett trevligt massmail.";  // Meddelandet
$mail->WordWrap 50;       // Word-wrap, hur långa skall raderna vara

if(!$mail->Send()) {
  echo 
'Meddelandet skickades inte.';
  echo 
'Mailfel: ' $mail->ErrorInfo;
} else {
  echo 
'Meddelandet skickades';
}
?>
MEr info här:
http://phpmailer.worxware.com/index.php?pg=tutorial
qson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-18, 11:40 #4
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Citat:
Ursprungligen postat av qson Visa inlägg
Enkelt exempel på att använda PHPMailer:
...

MEr info här:
http://phpmailer.worxware.com/index.php?pg=tutorial
qson > Tror inte alla mottagare vill se varandras adresser.

PHP-kod:
<?php

$mejl
[0] = '[email protected]';
$mejl[1] = '[email protected]';
$mejl[2] = '[email protected]';
/* ...och så vidare till nr. 800... */

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // använd SMTP-server
$mail->Host     "smtp.example.com"// SMTP server

$mail->From     "[email protected]";     // Avsändar-adressen
$mail->AddAddress('[email protected]');    // Mottagar-adressen

foreach ($mejl as $mejladress) {
  
$mail->AddBCC($mejladress);  // Mottagare
}

$mail->Subject  "Mitt första PHPMail";     // Rubriken
$mail->Body     "Ett trevligt massmail.";  // Meddelandet
$mail->WordWrap 50;       // Word-wrap, hur långa skall raderna vara

if(!$mail->Send()) {
  echo 
'Meddelandet skickades inte.';
  echo 
'Mailfel: ' $mail->ErrorInfo;
} else {
  echo 
'Meddelandet skickades';
}
?>

Senast redigerad av Jonas den 2010-08-18 klockan 11:40 Anledning: Korta ned citat
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-18, 11:46 #5
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Ursprungligen postat av Jonas Visa inlägg
qson > Tror inte alla mottagare vill se varandras adresser.
Aha, i gamla versionen av phpmailer skickades ett mail per mottagare. Nu läggs tydligen alla adresser i to-fältet samtidigt.

Finns dock en inställning som skickar individuella mail:
PHP-kod:
$SingleTo      public      false      Provides the ability to have the TO field process individual emailsinstead of sending to entire TO addresses 
Här är uppdaterad kod:
PHP-kod:
<?php

$mejl
[0] = '[email protected]';
$mejl[1] = '[email protected]';
$mejl[2] = '[email protected]';
/* ...och så vidare till nr. 800... */

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // använd SMTP-server
$mail->Host     "smtp.example.com"// SMTP server

$mail->From     "[email protected]";     // Avsändar-adressen

foreach ($mejl as $mejladress) {
  
$mail->AddAddress($mejladress); // Mottagar-adressen
}

$mail->Subject  "Mitt första PHPMail";     // Rubriken
$mail->Body     "Ett trevligt massmail.";  // Meddelandet
$mail->WordWrap 50;       // Word-wrap, hur långa skall raderna vara

$mail->SingleTo true// Se till att individuella mail skickas!

if(!$mail->Send()) {
  echo 
'Meddelandet skickades inte.';
  echo 
'Mailfel: ' $mail->ErrorInfo;
} else {
  echo 
'Meddelandet skickades';
}
?>
Jag gillar inte BCC, det står då en annan mottagare än sig själv, t.ex. "To: Undisclosed recipients"
qson är inte uppkopplad   Svara med citatSvara med citat
Svara

Taggar
blacklist, mail, mail(), massmail, php


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017