Neda sa odoslat email na inu mailovu adresu ako na moju – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Neda sa odoslat email na inu mailovu adresu ako na moju – PHP – Fórum – Programujte.comNeda sa odoslat email na inu mailovu adresu ako na moju – PHP – Fórum – Programujte.com

 

29. 3. 2015   #1
-
0
-

zdravim,

potrebujem z databazy emailov poslat maily,ale vyhadzuje mi to chybu v pripade ze nepouzijem svoju emailovu adresu.V logoch nic nieje, inak skript funguje ak pouzijem moj mail.Nemam uz vobec potuchy vcom moze byt zadrhel

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator,  and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Nahlásit jako SPAM
IP: 178.41.95.–
peter
~ Anonymní uživatel
4014 příspěvků
30. 3. 2015   #2
-
0
-

Co ocekavas za odpoved? Nevidime do tveho kodu. Pokud tam mas chybu, nemuzeme ti to rici.
Hlaska mluvi jasne, kontaktovat administratora serveru. Provedl jsi? Ne? Proc? Je mozne, ze to maji nastavene prave tak, jak to popisujes. Pripadne muzes zkusit odesilat maily pres jiny server, sdilet s nim sve nejimtimnejsi zazitky a tak. 

// http://cz1.php.net/…guration.php#…
echo "<b>default</b><br>"; 
$a = 'SMTP';   echo "$a = ".ini_get($a)."<br>"; 
$a = 'smtp_port'; echo "$a = ".ini_get($a)."<br>"; 
$a = 'sendmail_from'; echo "$a = ".ini_get($a)."<br>"; 	// win only
$a = 'sendmail_path'; echo "$a = ".ini_get($a)."<br>"; 	// unix /usr/sbin/sendmail or /usr/lib/sendmail

ini_set("SMTP", "smtp.mujserver.cz");
echo "<b>changed</b><br>"; 
$a = 'SMTP';   echo "$a = ".ini_get($a)."<br>"; 
$a = 'smtp_port'; echo "$a = ".ini_get($a)."<br>"; 
//date_default_timezone_set('America/New_York');
Nahlásit jako SPAM
IP: 2001:718:2601:1f7:55c4:fc...–
30. 3. 2015   #3
-
0
-

<?php
error_reporting(0);
set_time_limit(0);

include "../class.php";

$conn1 = new MySQL_pspojenie();
if(!$conn1->pripoj(1)) die("ERROR:nepodarilo sa nadviazat spojenie s lokalnou DB");
mysql_select_db($conn1->database, $conn1->connection);

$to      = 'mojmail@gmail.com';
$subject = 'subjekt';
$message = 'text';
$headers = 'From: mojmail@gmail.com' . "\r\n" .
    'Reply-To: mojmail@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

$mysql_query = "SELECT ID, nazov, lat, lon, link_ID, link, adresa, tel, email, web FROM import ORDER BY ID LIMIT 1,10";
$result =  mysql_query($mysql_query, $conn1->connection);
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $mysql_query;
    die($message);
}


while($row = mysql_fetch_array($result))    {
    
    //$to = $row["email"];
    echo '-'.$to."-<br/>";
    if(mail($to, $subject, $message, $headers))    {
        echo "Sprava odoslana<br/>".$row["ID"]."-".$row["email"]."<br/>";
    }else    {
        echo "neodoslane";
    }
}

echo "VSETKO ODOSLAL<br/>";

?>

ked odkomentujem riadok //$to = $row["email"]; tak by mal odosielat maily z DB,co nefunguje(ked ich vypisujem len,tak vsetko vypisuje spravne)

Nahlásit jako SPAM
IP: 178.41.95.–
peter
~ Anonymní uživatel
4014 příspěvků
30. 3. 2015   #4
-
0
-

$to      = 'mojmail@gmail.com';
    if(mail($to, $subject, $message, $headers))    {

$headers = 'From: mojmail@gmail.com' . "\r\n" .
    'Reply-To: mojmail@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();


Ja ti do toho nechci kecat, ale vsechny ty tri maily jsou stejne a nenasel jsem jiny prikaz pro
$to = "...cokoliv jineho...";

A pak neni dobre maily odesilat najednou, je dobre tam dat sleep aspon 100 ms a vic (tusim 0.1). Obvykle je to povazovano za spam a server to nemusi pustit ven rekneme po 5-10 mailu. Jo, a taky mivaji servery limit pro pocet odeslanych mailu, nektere.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:55c4:fc...–
peter
~ Anonymní uživatel
4014 příspěvků
30. 3. 2015   #5
-
0
-

echo "VSETKO ODOSLAL<br/>";

V tom while cyklu nekontrolujes vysledek mailu. Spis by to melo byt neco jako "Konec odesilani."
Vsechno odeslal by bylo v pripade, ze se vsechny maily podarilo odeslat. Tudiz 

<?php
$bool = true;
while ... {
$bool_mail = mail(...);
if ($bool_mail) {...} else {...}
$bool &= $bool_mail;
}
if ($bool) {odeslane...}
else {nektere nebo vsechny maily se neodeslali...}
?>
Nahlásit jako SPAM
IP: 2001:718:2601:1f7:55c4:fc...–
peter
~ Anonymní uživatel
4014 příspěvků
30. 3. 2015   #6
-
0
-

Jo, a pak samozrejme neco jineho je, kdyz mail mail zkusi poslat a odeslani projde, ale mail treba neprijde. Ten druhej mail server posle chybovou zpravu. Kterou ale mail() neumi zachytit, ta ti prijde pak do mail schranky

    'Reply-To: mojmail@gmail.com' . "\r\n" .

Bys musel pak pres php precist mail schranku a zjistit, ktere maily se neodeslali. To samozrejme jde taky a rychla funkce je pro cteni hlavicek. Cili, kdyz vysledek das do predmetu mailu. Kdyz musi precist telo, tak to te funkci trva dele.
http://php.net/…-headers.php

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:55c4:fc...–
30. 3. 2015   #7
-
0
-

nepomaha ani ked som v cykle pridal za kazdym odoslanim usleep(1000000);

ved tie 3 maily su rovnake,ale ked sa odkomentuje riadok  //$to = $row["email"]; ,tak bude brat komu ho poslat z databazy z toho selectu co mam v tabulke ulozene maily

Nahlásit jako SPAM
IP: 178.41.95.–
peter
~ Anonymní uživatel
4014 příspěvků
30. 3. 2015   #8
-
0
-

Jestli to neni tajne, muzes pridat i tu tabulku (phpmyadmin export)? Z te tabulky ti projde aspon nejaky mail nebo vsechny selzou? Treba je v tabulce nejaky spatny znak nebo se to cele nejak spatne precte.
Ono by stacilo usleep asi 1000 a mene, koukam, ze to je mikrosekundy.

Tak, vzdycky je tu moznost kontaktovat adminy. Jestli je php v poradku a treba na jinem servru to jde. Free hosting se da registrovat snadno.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:55c4:fc...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 35 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý