Autor | Zpráva | ||
---|---|---|---|
bredis Profil |
#1 · Zasláno: 21. 10. 2013, 20:16:24 · Upravil/a: Moderátor (editace znemožněna) 1. 11. 2013, 10:19:56
>
Moderátor Alphard: Vlákno je do Prací a zakázek přesunuto dodatečně, požadavky a kontakt naleznete v [#7] bredis
Zdravím, níže je uveden kód, který má odeslat email uživatelům v databázi. Problém je, že odešle mail pouze poslednímu reg. uživateli a ostatním ne. Včem dělám chybu? <? $dbconn = mysql_connect('xxx', 'xxx', 'xxx') or die("Unable to connect to MySQL"); mysql_select_db("mojeDB",$dbconn); $mail = mysql_fetch_array (mysql_query ('SELECT s_contact_email FROM `oc_t_item` WHERE pk_i_id IN (SELECT fk_i_item_id FROM `oc_t_item_custom_attr_values` WHERE s_value = CURRENT_DATE( ) ) ORDER BY pk_i_id ASC')); $description = mysql_fetch_array (mysql_query ('SELECT s_description FROM `oc_t_item_description` WHERE fk_i_item_id IN (SELECT fk_i_item_id FROM `oc_t_item_custom_attr_values` WHERE s_value = CURRENT_DATE( ) ) ORDER BY `fk_i_item_id` ASC')); //Check if entry exists if($entry !== 0){ $message = $description['s_description']; $to = $mail['s_contact_email']; $from = "admin@neco.cz"; $subject = "test"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=windows-1250-l\r\n"; $headers .= "From: $from\r\n"; if(mail($to, $subject, $message, $headers)){ echo 'Email sent'; }else{ echo 'Failed sending email'; } }else{ echo 'No email entry found'; } mysql_close($dbconn); ?> |
||
Alphard Profil |
#2 · Zasláno: 21. 10. 2013, 20:21:29
Tipoval bych spíš prvního uživatele, řadíte podle
id asc . Řešením je projít výsledek cyklem a odeslat. Nicméně běžný hosting vám zřejmě nepovolí posílat moc mailů najednou.
|
||
bredis Profil |
#3 · Zasláno: 22. 10. 2013, 11:03:12
Alphard:
jj máte pravdu...prvnímu uživateli. Já tam pak přidal to řazení a zapoměl jsem na to:) Můžete mě prosím nasměrovat, jak to vyřešit s tím cyklem? Jak to řeší např. diskusní fóra když odesílají mail více uživatelů. Jde mi o to, že budu mít databázi do které se uživatel zaregistruje, vyplní nějaké údaje a pak zadá datum. A v ten datum by se mu měl odeslat mail s jeho daty které zadal. |
||
aDAm Profil |
#4 · Zasláno: 22. 10. 2013, 11:12:45
Např to posílají přes SMTP server či služby k tomu určené. Pokud to odpálite na sdíleném hostingu a zahltíte frontu tak dojde ve většině případů k blokaci.
|
||
peta Profil |
#5 · Zasláno: 22. 10. 2013, 14:28:34
Cyklus
http://cz1.php.net/manual/en/control-structures.for.php http://cz1.php.net/manual/en/control-structures.foreach.php http://cz1.php.net/manual/en/control-structures.while.php Mysql_fetch_array ti vytahle jeden radek, takze musis pouzit pro dalsi radek znovu mysql_fetch_array, viz http://cz2.php.net/function.mysql_fetch_array * Example #2 mysql_fetch_array() |
||
bredis Profil |
#6 · Zasláno: 22. 10. 2013, 23:00:11
Ok...díky všem. Zkusím se tím prokousat.
|
||
bredis Profil |
#7 · Zasláno: 23. 10. 2013, 19:42:35
Jelikož jsem lama, tak jsem to dohromady nedal. Prosím moderátora o přesunutí do sekce "Práce a zakázky".
Kontakt: admin (zav.) dogslife.cz Uveďte prosím za kolik jste schopni ten script zprovoznit s odesíláním přes SMTP server. Děkuji bredis |
||
aDAm Profil |
#8 · Zasláno: 24. 10. 2013, 08:20:39
Nevzdávej to tak rychle, existuje pěkná knihovna: http://sourceforge.net/projects/phpmailer/ která je opravdu jednoduchá na implementaci. Stačí nastavit SMTP server, login a heslo a pak sestavit zprávu a poslat.
|
||
Časová prodleva: 3 dny
|
|||
Alphard Profil |
#9 · Zasláno: 27. 10. 2013, 13:06:19
bredis [#7]:
Stále žádost o přesunu do Prací a zakázet platí? Já jsem toto vlákno nestíhal sledovat, omlouvám se. Ovšem jestli jde o úpravu prvního kódu, je to docela snadné. Klasickým způsobem budete procházet výstup z databáze a v těle cyklu odešlete mail $dataSet = mysql_query('... sql dotaz ...'); while ($line = mysql_fetch_assoc($dataSet)) { mail($line['mail'], $subject, $message, $headers); } V základu takto, posíláním slepých kopii si na hostingové limity moc nepomůžete, takže kdybyste potřeboval posílat častěji, musíte si najít službu, která vám to umožní. |
||
Časová prodleva: 5 dní
|
|||
bredis Profil |
#10 · Zasláno: 1. 11. 2013, 07:28:21
Dobrý den. Ano žádost o přesun stále platí jen s tím, že bych to potřeboval odesílat přes phpmailer.
|
||
Časová prodleva: 3 dny
|
|||
bredis Profil |
#11 · Zasláno: 3. 11. 2013, 21:05:04
Prosím o zamknutí....zakázka je zadaná. Děkuji
|
||
Časová prodleva: 11 let
|
0