Hvordan sende en masse e-post i PHP batcher
Hypertext Preprocessor (PHP) er en fullverdig skriptspråk med innebygde funksjoner for å oppnå omtrent enhver oppgave en webutvikler trenger for å utføre. PHP verktøykasse inneholder en e-post-funksjon, array-prosessering evner, loop-kontroll strukturer og midlene til å lese og skrive lokale filer. En webutvikler kan kombinere disse verktøyene og lage et PHP-script som utfører masse emailings. Splitte en masse e-post jobb i små grupper kan du arbeide innenfor grensene dine web server plasser på bruk av sin avskjeds post eller andre e-postprogrammer.
Bruksanvisning
1 Start standard, ren tekst editor program som er tilgjengelig på datamaskinen.
2 Skriv inn følgende kode inn i teksteditor:
<? Php
// E-postliste - disse kan også lagres i en data base
$ Liste [0] = "[email protected]";
$ Liste [1] = "[email protected]";
$ Liste [2] = "[email protected]";
$ Liste [3] = "[email protected]";
$ Liste [4] = "[email protected]";
$ Liste [5] = "[email protected]";
$ Liste [6] = "[email protected]";
$ Liste [7] = "[email protected]";
$ Liste [8] = "[email protected]";
$ Liste [9] = "[email protected]";
$ Liststep = 2; // Antall e-poster å sende ut på gangen
$ TotalAddresses = 10;
$ MinFil = "listcount.txt";
// Sjekker for eksistensen av tellingen fil. Hvis ikke det, skaper det
// Hvis den finnes, laster det teller, intervaller den og sender den videre til mailer rutine
if (file_exists ($ minFil))
{
$ Fh = fopen ($ minFil, 'r');
$count=intval(fgets($fh));
$ Count = $ count + $ liststep;
fclose ($ fh);
$ Fh = fopen ($ minFil, 'w');
fwrite ($ fh, $ teller);
fclose ($ fh);
}
else {
$fh =fopen($myFile, 'x');
$ Count = $ liststep;
fwrite ($ fh, $ teller);
fclose ($ fh);
}
// Din e-postadresse og e-postlagt
$email='[email protected] ';
$ Emne = "møtet kunngjøring";
// Overskrifter for å fortelle hvor post fra og hvem som skal svare på
$ overskrifter = "Fra:". $ Epost. "\ R \ n". 'Svare på: ' . $ Epost. "\ R \ n";
$ Themessage = 'Her er mitt budskap. Det kan være HTML også: bare nødt til å se enkle og doble anførselstegn ';
// Mailer rutine
// Denne delen looper gjennom e-postadressen listen til telleren teller ned til 10
// Uncomment mail () -funksjonen linjen når du er klar til å faktisk sende ut e-post.
if ($ count <$ TotalAddresses)
{
for ($ n = 0; $ n <$ teller, $ n ++)
{
// $ Resultat = mail ($ liste [$ n], "Møte Invitasjon", $ themessage, $ overskrifter);
if ($result=True)
{
echo $ liste [$ n]. sendt! '; // Hvis postfunksjonen er vellykket
}
}
}
?>
3 Klikk filmenyen. Velg "Lagre" alternativet. Lagre under filnavnet "test.php."
4 Klikk på fil-menyen og velg "Avslutt" eller "Exit" for å lukke tekst editor.
5 Start FTP-program og logge på webserveren.
6 Last opp filer "test.php" til rotkatalogen på webserveren.
7 Start en nettleser og angi riktig Uniform Resource Locator (URL) for å få tilgang til PHP-filen. For eksempel, skriv: yourdomainname.com/test.php. Erstatt "yourdomainname.com" med domenenavnet eller IP (Internet Protocol) adresse på webserveren.
8 Trykk Enter-tasten for å laste inn nettadressen og kjøre PHP-filen. Nettleseren skal vise hver e-postadresse sendt til nettet vert send-post verktøyet.
Hint
- Linux, OS X, BSD og UNIX-servere har en standard verktøy, cron, som du kan være i stand til å bruke til å sende en gruppe med e-post med jevne mellomrom. Windows-servere kan eller ikke kan ha cron eller en cron-lignende verktøy du kan bruke. Cron kjøres på de fleste systemer som en bakgrunnsprosess eller nissen. Cron sjekker for å se om en jobb må kjøres daglig, hver time, ukentlig eller månedlig. Snakk med systemansvarlig om å kjøre en time eller tilpasset cron script for å sende ut e-poster i små grupper i løpet av dagen.
- I tillegg til å begrense antall e-poster du kan sende ut per dag, kan noen webservere selv begrense hvor mange e-poster du kan sende ut per time. Dersom post () funksjonen kalles for raskt, kan serveren ignorere noen e-poster eller blokkere din evne til e-post helt. PHP usleep () -funksjonen kan brukes til å forsinke epost innsending til en akseptabel pris. Mengden av forsinkelse er i milliondeler av et sekund. Sett usleep () et sted etter mail () -funksjonen som "usleep (2.000.000)" for en to-sekunders forsinkelse mellom utsendelser.