Domanda

C'è un modo che io possa inviare circa 3000 + messaggi di posta elettronica da un php richiesta script senza il sovraccarico di un IP dedicato ... il massimo sarebbe 500 all'ora?

Se non ottenete me .. qui è dettagliata:)

Posso inviare solo 500 messaggi di posta elettronica tramite la funzione mail () in PHP per ora tramite il mio IP dedicato, c'è qualche modo ho potuto inviare per esempio 3000 righe di messaggi di posta elettronica tirato da un indirizzo di posta elettronica, ma scaglionare la mail () funzioni fuori per 500 all'ora ...

Grazie già!

È stato utile?

Soluzione

Crea 2 tavoli, uno per il messaggio e-mail e uno per l'elenco dei destinatari. Quindi creare uno script per essere eseguito da cron che controlla se c'è un nuovo messaggio nella tabella dei messaggi e in tal caso invia una serie di e-mail per la prossima serie di destinatari. Marcatura ogni destinatario dopo che il messaggio viene inviato.

Poi si crea un'interfaccia web per il vostro cliente per creare un messaggio e allegare destinatari al messaggio una volta che l'utente contrassegna il messaggio come pronto ad andare il vostro lavoro cron lo raccoglie e lo elabora.

Se non ci sono messaggi da inviare il vostro lavoro cron non fa nulla.

Altri suggerimenti

Si potrebbe dormire da una chiamata, o, se sono già in una banca dati, inserire un campo in là che dice che quando sono stati inviati. Poi si selezionano quelli che non sono stati inviati, e cominciare da lì.

Vorrei mettere un campo nel DB per mostrare quando l'ultimo email è stata inviata ad ogni utente e quali e-mail è stato. Vorrei anche avere un altro tavolo DB per mostrare ogni email che hai inviato e se è stato inviato a tutti gli utenti ancora.

User Table:
Id, UserName, Email, etc, DateTimeOfLastEmail, LastEmailId

Email Table:
Id, EmailSubject, EmailContent, DateTimeSent, SentToAll(True/False), DateTimeOfFinish

Grazie per tutte le risposte! Il modo migliore che ho trovato era in realtà a dormire semplicemente () tra le chiamate utilizzando il sonno () come ho provato a 400 mail, questo ha preso 17 secondi:)

E 'improbabile che l'utente invierà più rispetto al limite di 450 ... ma se lo fanno non ho un'istruzione if prima che il tempo () finisce controllare se ci sono più di 450 righe, se così sarà dormire tra ciascuno. .. questo funziona senza database poco pratici:)

Grazie!

e dopo aver fatto qualche calcolo si può inviare una e-mail ogni 8,3 secondi (498 / hr), ma non risolve il problema. Penso che un altro approccio sarebbe quello di utilizzare un DB, query per il 500 e hanno un job cron eseguire lo script ogni ora.

Quindi, nella tabella DB si potrebbe avere lo script di aggiornamento di un campo dopo che l'email è stata inviata in modo che il processo di cron prossimo interrogherà e ottenere i 500 email prossimi che devono essere inviati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top