Avatar billede duhn Nybegynder
25. juli 2003 - 01:57 Der er 12 kommentarer

sende små 700 mails

Go aften til jer alle

jeg sidder med et stort problem har fået en opgave af min boss at jeg skal lave ham en admin side hvor han kan sende mails ud til alle hans medarbejdere (små 700 stykker).

men hvordan kan man lige gøre det uden at det vil opfatte det som en form for spam eller lign. ??

håber i kan hjælpe mig fortsat go aften.
Avatar billede duhn Nybegynder
25. juli 2003 - 01:58 #1
glemte at oplyse at alle mail adresser ligger på serveren herude (MySQL)
Avatar billede avlund Nybegynder
25. juli 2003 - 02:03 #2
$q_medarbejder = mysql_query( "SELECT navn, email FROM emailtabel" ) or die( mysql_error() );

while( $medarbejder = mysql_fetch_row( $q_medarbejder ) )
{
  mail( $medarbejder[0]."<".$medarbejder[1].">", "Overskrift", "Besked blablabla" );
}
Avatar billede ahv Nybegynder
25. juli 2003 - 02:03 #3
Uden at det vile blive opfattet som spam?
Hvis det er en besked til alle hans medarbejder, kan det vel ikke betragtes som spam. En besked fra min chef ville jeg da ikke betragte som spam hvertfald ;o)

Men tror jeg har misforstået spørgsmålet?
Avatar billede ahv Nybegynder
25. juli 2003 - 02:06 #4
Hvis du ønsker et eksempel på hvordan man kan lave det, så er her et simplet eksempel ->

http://www.ahv.starthotel.dk/nyhedsbrev.zip
Avatar billede avminarm Juniormester
25. juli 2003 - 09:06 #5
der er noget mar at mail() funktionen er meget langsom/uegmet til at sende mange mails ud, men der ligger en klasse på pear som kan benyttes til dette formål http://www.pear.php.net/package-search.php?pkg_name=mail&bool=AND&submit=Search
Avatar billede tipsen Nybegynder
25. juli 2003 - 10:00 #6
avminarm: Det plejer at være mig som går PEAR-amok - men jeg kan ikke engang se hvilken klasse du mener!

duhn: Hvis du/I vil undgå at medarbejderne føler sig spammet er det jo vigtigt at muligheden for at sende mails til alle medarbejdere ikke bliver misbrugt - altså at den bliver brugt meget sjældent (eks. én gang i kvartalet!) Derudover skal indholdet af mailen selvfølgelig være noget som medarbejderne vil finde interessant, så de ikke føler deres tid bliver spildt - dvs. mailen skal indeholde information de ikke har i forvejen.

Den tekniske side af sagen er til gengæld meget nemmere :-) At bruge mail()-funktionen i en løkke er et klassisk eksempel på, hvordan man tvinger både php- og smtp-server helt i knæ, når der skal sendes så mange emails! Dette hænger sammen med at mail-funktionen er meget ineffektiv i denne sammenhæng, da den for hver email skal åbne og lukke forbindelsen til smtp-serveren samt sende emailen.

Det er en del smartere/hurtigere at åbne forbindelsen, sende alle mails og derefter lukke forbindelsen igen. Der findes en klasse som laver den hårde del af arbejdet for dig på følgende adresse:

http://www.zend.com/codex.php?id=347&single=1

Du bruger den på følgende måde:
// indsæt koden til klassen her
// opret instans af klassen smtp_client
// indebærer forbindelse til smtp-server (mailhost angives som inputargument - default er localhost)
$smtp = new smtp_client();  //bemærk rettet i forhold til original!

$from = 'afsender@email.dk';
$subject = 'emne for mailen';
$header = 'headere';
$body = 'mailteksten';

//indsæt db-connection + db-valg her
$res = mysql_query('SELECT email, navn FROM emailbase') or die(mysql_error());
while (list($email, $navn) = mysql_fetch_row($res)) {
    $smtp->email($from, $email, $name, $header, $subject, $body);
}
//send alle mails
$smtp->send();
Avatar billede avminarm Juniormester
25. juli 2003 - 11:28 #7
tipsen>> jeg ved godt ;o), jeg beklager *G*
Avatar billede je79ayps Novice
30. juli 2003 - 15:10 #8
tipsen >> det du henviser til er det det eneste man har behov for - altså ingen andre filer eller noget?
Avatar billede tipsen Nybegynder
30. juli 2003 - 15:39 #9
Det skulle være det hele - var det forøvrigt dig der oprettede opgave på sharks nu her?
Avatar billede je79ayps Novice
30. juli 2003 - 18:33 #10
Ja - derfor jeg spurgte... :o) bl.a. fordi en nævnte at et cronjob var nødvendigt, men jeg skal allerhøjst sende 250 mails, så hvis jeg kan klare mig med ovenstående ville det jo være fint - du er meget velkommen til at give mig et tilbud og jeg så da gerne at du lavede det, da jeg begynder at kende din PHP kompetence!
Avatar billede tipsen Nybegynder
30. juli 2003 - 18:39 #11
Jeg er i fuld gang med et andet projekt som arbejdsmæssigt er maks krævende i disse dage - hvis du kan vente til omkring søndag vil jeg meget gerne give et tilbud - jeg skal bare lige være færdig med det jeg er i gang med nu :-) (Og tak for tilliden)
Avatar billede je79ayps Novice
30. juli 2003 - 19:09 #12
Jeg venter gerne...
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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