Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP mail funkcija me izluđuje

[es] :: PHP :: PHP mail funkcija me izluđuje

[ Pregleda: 1432 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

codemaker
Borislav Pekic
Beograd

Član broj: 96807
Poruke: 67
*.static.maksnet.net.

Sajt: www.odraz.net/blog/index...


Profil

icon PHP mail funkcija me izluđuje07.08.2008. u 23:50 - pre 191 meseci
Ukratko, na nekom serveru jedna firma ima PHP kojima prikuplja informacije od korisnika. Pre dosta vremena sam napisao jednostavnu skriptu koja je radila više od dve godine. Nedavno ljudi na hosting su nešto čačkali i sad skripta ne radi kao nekada, što je još teže, radi nelogično.

1. HTML fajl prikuplja podatke od klijenta
2. Poziva PHP fajl koji preuzima te podatke i salje ih na tri mail adrese radi njihove analize
3. Na mail koji korisnik unese kroz formu, salje pozdravnu poruku i link za download demo softvera

Ništa jednostavnije. Slanje maila na 3+1 adresu.
Ali...
Ne šalje na prve tri adrese.
- ako ih definišem unutar PHP
- ako ih u HTML formi definišem kao "hidden" pa preuzimam u PHP sa ostalim podacima

Uvek korektno šalje na email adresu koju je ukucao korisnik prilikom ispunjavanje forme
Nešto su čačnuli a ne znam šta.
Nikako da ustanovim, zašto na prva tri maila ne šalje mailove uopšte

Čak sam pokušao da pošaljem dva puta na ISTI mail - salje samo na DRUGI napisani!
Samo sam promenio subjekat da zam koji je zapravo poslao
-------
Code:

// 1. POKUŠAJ (NE ŠALJE!) Now the mail to the client with informations requested
$subject = "PRVI POKUŠAJ"
$messageproper = 
    "----------------------------------------------------------------------------\n\n" .
    $comments .
    "\n\n------------------------------------------------------------------------\n" ;

// SALJE NORMALNO NA EMAIL KOJI JE KORISNIK UNEO KROZ FORMU!!! <---------------------
mail($pemail, $subject, $messageproper,
    "From: \"$paysoftm\" <$paysoftm>" . $headersep . "Reply-To: \"$prealname\" <$paysoftm>" . $headersep . "X-Mailer: chfeedback.php 2.07" );


// 2. POKUŠAJ (ŠALJE NORMALNO!)
// Now the mail to the client with informations requested
$subject = "DRUGI POKUŠAJ"
$messageproper = 
    "----------------------------------------------------------------------------\n\n" .
    $comments .
    "\n\n------------------------------------------------------------------------\n" ;

// SALJE NORMALNO NA EMAIL KOJI JE KORISNIK UNEO KROZ FORMU!!! <---------------------
mail($pemail, $subject, $messageproper,
    "From: \"$paysoftm\" <$paysoftm>" . $headersep . "Reply-To: \"$prealname\" <$paysoftm>" . $headersep . "X-Mailer: chfeedback.php 2.07" );

Salje samo mail sa subjektom "DRUGI POKUŠAJ" ????

Ima li neko ideju ili da odmah odem na krov i poletim, brže je i ne moram se više mučiti :)
Šta su kog vraga čačnuli, kontaktirao sam ih a oni mi nude template PHP za slanje maila... Kad im kažem da sam na njihovom serveru već godinama i do sada je radilo ok, rekoše da su izvšili neke izmene setovanja ali mi nisu mogli pomoći, tražeći od mene da koristim njihov template... koji je kopija bilo kog sa googla.
Na pitanje zašto šalje samo jedan i to zadnji mail, nema odgovora već drugi dan..

Hvala za svaku ideju



Kompletan kod:
--------------
Code:

?php
include 'color.php';
$sname = "http://".$_SERVER['SERVER_NAME'];
ini_set('sendmail_from','[email protected]');
?>

<?php
// [b]do sada sam ovde definisao tri mail adrese za uvid u ono što je korisnik uneo iz HTML forme[/b]
$paysoftm =  '[email protected]' ;
$paysoftm1 =  '[email protected]' ;
$paysoftm2 =  '[email protected]' ;

$subject = "DOWNLOAD DEMO" ;

$uself = 1;

// -------------------- END OF CONFIGURABLE SECTION ---------------
// data from DEMOFORM.HTML
$headersep = (!isset( $uself ) || ($uself == 0)) ? "\r\n" : "\n" ;

$prealname =     $_POST['realname'] ;
$pTitle =         $_POST['Title'] ;
$pCompany =     $_POST['Company'] ;
$pServices =     $_POST['Services'] ;
$pLicense =     $_POST['License'] ;
$pAddress =     $_POST['Address'] ;
$pCityStateZip = $_POST['CityStateZip'] ;
$pemail =         $_POST['email'] ;
$pPhone =         $_POST['Phone'] ;
$pFax    =             $_POST['Fax'] ;
$pWebsite =     $_POST['Website'] ;
$pOfferingPayroll = $_POST['OfferingPayroll'] ;
$pHowManyClients =  $_POST['HowManyClients'] ;
$pSoftware =     $_POST['Software'] ;
$pHearabout =     $_POST['HearAbout'] ;

// Pokušao i sa preuzimanjem predefinisanih 3 email adrese iz HTML forme kao "hidden" polja-ne radi!
//$paysoftm =  $_POST['mail1'] ;
//$paysoftm1 =  $_POST['mail2'] ;
//$paysoftm2 =  $_POST['mail3'] ;

$comments =  "NAME: $prealname\n" .
                    "TITLE: $pTitle\n" .
             "COMPANY: $pCompany\n" .
             "SERVICES: $pServices\n" .
             "LICENSE: $pLicense\n" .
             "ADDRESS: $pAddress\n" .
             "CITY,STATE,ZIP: $pCityStateZip\n" .
             "PHONE: $pPhone\n" .
             "FAX: $pFax\n" .
             "WEB SITE: $pWebsite\n" .
             "OFFERING PAYROLL? $pOfferingPayroll\n" .
             "CLIENTS NO: $pHowManyClients\n" .
             "SOFTWARE: $pSoftware\n" .
             "HEAR: $pHearabout\n\n" ;
           
$http_referrer = getenv( "HTTP_REFERER" );

if (empty($prealname) || empty($pTitle) || empty($pCompany) || empty($pServices) || empty($pAddress) || empty($pCityStateZip) || empty($pemail) || empty($pPhone) || empty($pFax) || empty($pHearabout) ) {
   header( "Location: $errorurl" );
   exit ;
}
if ( ereg( "[\r\n]", $prealname ) || ereg( "[\r\n]", $pemail ) ) {
    header( "Location: $errorurl" );
    exit ;    
}
if (get_magic_quotes_gpc()) {
    $comments = stripslashes( $comments );
}

// All data which client inputs
//-----------------------------
$messageproper =
    "MESSAGE SENT FROM SERVER www.paysoft.com\n" .
    "------------------------------------------------------------\n" .
    "Mail SUBJECT: DEMO DOWNLOAD\n" .
    "Sender EMAIL: $pemail\n" .
    "------------------------- MAIL BODY -------------\n\n" .
    $comments .
    "\n\n--------------------------------------------------------\n" ;

// Ne salje??? <------------
mail($paysoftm, $subject, $messageproper,
    "From: \"$pemail\" <$pemail>" . $headersep . "Reply-To: \"$prealname\" <$pemail>" . $headersep . "X-Mailer: chfeedback.php 2.07" );
// Ne salje??? <--------------
mail($paysoftm1, $subject, $messageproper,
    "From: \"$pemail\" <$pemail>" . $headersep . "Reply-To: \"$prealname\" <$pemail>" . $headersep . "X-Mailer: chfeedback.php 2.07" );
// Ne salje??? <----------------
mail($paysoftm2, $subject, $messageproper,
    "From: \"$pemail\" <$pemail>" . $headersep . "Reply-To: \"$prealname\" <$pemail>" . $headersep . "X-Mailer: chfeedback.php 2.07" );



// Now the data sent to client
//------------------------------
$subject = "Propay Demo Download" ;
$demolink = "http://www.paysoft.com/demo/paydemo.exe";
$comments =  "Thank you for your interest in Pro-Pay! Please click the link below to download your free demo:\n\n" .
                $demolink .
                "\n\nIf your email client does not support HTML, simply copy and paste the URL into your web browser.\n" .
                "If you have any questions at all, feel free to call us (Toll Free) at:\n\n" .
                "1-800-992-4353\n" .
                "Monday - Friday\n" .
                "8:00 AM - 4:00 PM Pacific Standard Time\n\n" .
                "\nPaysoft, Inc.\n" ;

if (get_magic_quotes_gpc()) {
    $comments = stripslashes( $comments );
}



// Now the mail to the client with informations requested
$messageproper = 
    "----------------------------------------------------------------------------\n\n" .
    $comments .
    "\n\n------------------------------------------------------------------------\n" ;

// SALJE NORMALNO NA EMAIL KOJI JE KORISNIK UNEO KROZ FORMU!!! <---------------------
mail($pemail, $subject, $messageproper,
    "From: \"$paysoftm\" <$paysoftm>" . $headersep . "Reply-To: \"$prealname\" <$paysoftm>" . $headersep . "X-Mailer: chfeedback.php 2.07" );

?>
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: PHP mail funkcija me izluđuje08.08.2008. u 05:22 - pre 191 meseci
Sumanuto... I verovatno zahteva budzenje. Mozda su i podesavanja lokalnog SMTP-a menjana (tipa ne prima vise uzastopnih poruka). Probaj da dodas neku pauzu izmedju slanja. Ili probaj budalastinu koju sam skoro video na Daily WTF - u stranici kojom obavestavas klijenta da je uspesno poslao to sto je poslao postavi <img> tagove koji ce pozivati php skripte za slanje mejlova (covek je zapravo verovao da se ovako pravi multithreaded php aplikacija).
 
Odgovor na temu

codemaker
Borislav Pekic
Beograd

Član broj: 96807
Poruke: 67
*.static.maksnet.net.

Sajt: www.odraz.net/blog/index...


Profil

icon Re: PHP mail funkcija me izluđuje08.08.2008. u 12:28 - pre 191 meseci
Hvala na odgovoru.


Inače sumnjivo mi je kad recimo uklonim iz koda sva slanja maila SEM PRVOG (dakle NE klijentu onaj zadnji po redu mail) - neće da pošalje. Ako uklonim sve prethodne blokove slanja mailova SEM slanja maila klinentu (zadnji) - salje!???

Ako postavim ZADNJI blok slanja maila (klijentu, koji radi) kao PRVI pa posle ona 3, takođe ne salje!!??

Možda je u samom prethodnom kodu nešto što sprečava prva tri maila (koji šalju identičan "$comment") da šalju?
Onaj deo koji preuzima varijable iz forme, mada 100 puta viđeno.

Pošto ona prva 3 maila treba da šalju istovetan $comment koji je sastavljen iz polja u bazi, pokušao sam da im podmetnem $comment koji se šalje u zadnjem emailu, namenjen klijentu a koji se razlikuje, ista stvar - ne šalje na ona 3 maila...

Možda može neko da nađe nepravilnost i sastavljanju $messageproper varijable pre slanja za prva 3 maila?


Čak sam pojednostavio do krajnosti da saljem dva maila - salje! A moj kod neće, jedina je razlika u prihvatanju varijabli sa forme....
Code:

<?php
// The message

$sendto = "[email protected]";
$subject = "FIRST php mail test";
$message = 'FIRST Test message using PHP mail()';

$sendto1 = "[email protected]";
$subject1 = "SECOND php mail test";
$message1 = 'SCOND Test message using PHP mail()';

$header = "From: paysoft@".$_SERVER["SERVER_NAME"]."\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";

ini_set("sendmail_from","paysoft@".$_SERVER["SERVER_NAME"]);

// FIRST mail
if (mail($sendto,$subject,$message,$header))
{
 echo 'First Mail sent!';
} else
{
 echo 'Error! First Mail was not sent.';
};

// SECOND mail
if (mail($sendto1,$subject1,$message1,$header))
{
 echo 'Second Mail sent!';
} else
{
 echo 'Error! Second Mail was not sent.';
};


?> 

Nisam ni sumjnao da će ovaj kod slati više od jedne poruke, jer prostije i nemože biti.
Jedino ne mogu da nađem šta se dešava sa mojim kodom koji je takođe po sebi jednostavan do krajnosti...

'ajte ljiudi, pomagajte, imam još 17 dlaka na glavi, počupah sve...
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: PHP mail funkcija me izluđuje08.08.2008. u 15:45 - pre 191 meseci
Ovo je sigurno SMTP problem. Ako mozes, pregledaj logove SMTP servera, ili se telnetuj na njega pa rucno kucaj SMTP komande. Proveri rezultat koji ti vrati mail. Probaj i da posaljes na druge adrese. Imao sam slucaj da kod provajdera X imam domen Y i nisam mogao iz PHP skripte da saljem postu na ja@Y, vec sam morao na jedinstven ja@X na koji se preusmerava sva posta za @A. To provajder nesto budali, ili neki od onih tupavih servisa koji treba da brane od spama a u stvarnosti ne rade nista korisno, samo ubijaju postu bez obavestenja.
 
Odgovor na temu

codemaker
Borislav Pekic
Beograd

Član broj: 96807
Poruke: 67
*.static.maksnet.net.

Sajt: www.odraz.net/blog/index...


Profil

icon Re: PHP mail funkcija me izluđuje09.08.2008. u 01:44 - pre 191 meseci
Nemam šanse da gledam logove, to je kod nekog provajdera u USA i mogu samo da nagadjam.

Kad je gazda firme o kojoj se radi, pritisnuo ljude iz hosting firme, ispostavilo se da su menajli nešto u php i smtp server setupu i da ni ne mogu da nam objasne šta tačno.
Kad je zapretio da će ih tužiti zbog našeg gubljenja vremena (tako se to tamo rešavaju sporovi očas), obećali su da će videti šta se može učiniti.
Pre toga su nam slali neke kretenske primere mail() funkcije, kojih ima na tone na internetu. Posle su počeli nešto da prčkaju i sad jedan deo koda radi ali ne sve, pogotovo još čačkaju negde u vezi preuzimanja unosa iz forme u varijable u php i korišćenje istih. To je svakako osnovna stvar i trivijalija ali ako šusteri nešto podese naopako onda bereš kožu na šiljak, kao ja na primer, već treći dan se bakćem sa nečim što je više od dve godine perfektno radilo....

Danas i noćas, svaka nova izmena mog php, se ponaša drugačije, kako već tamo čačkaju pa se sudaramo. Kad sam im tražio da već jednom završe, rekli su da žure i da će biti što je pre moguće, najdalje do ponedeljka... I ja sam im pripretio da ću na njih napujdati vlasnika kompanije pa su rekli da će danas pokušati da završe...

Sam Bog će ga znati šta su to radili, ma da sam mojoj babi dao da švrlja po php.ini ili smtp server setovanjima, manje bi štete napravila!

Kad sam im rekao neka pogledaju kod na našem folderu, odmah se uhvatiše za
"ini_set('sendmail_from', '[email protected]');"
a nisu videli da postoji u kodu
Tako da im je propala standardna varijanta support ljudi: "aaaaaaaa... pa niste ovo imali, naravno, zbog toga ne radi...."
To što je godinama radilo, nema veze..

Eto, izgleda da je sa kodom ipak sve ok, moram da sačekam da pokušaju da setuju kako valja da mogu da radim...

 
Odgovor na temu

codemaker
Borislav Pekic
Beograd

Član broj: 96807
Poruke: 67
*.static.maksnet.net.

Sajt: www.odraz.net/blog/index...


Profil

icon Re: PHP mail funkcija me izluđuje10.08.2008. u 14:45 - pre 191 meseci
Kad smo ih baš pritisnuli, ispostavilo se da imaju problema sa php-cgi-fcgi.ini fajlom.
Treba da ga izmene i postave novi, do tada ni ne nameravam da testiram.

Ispada da je to i bio problem od samog početka i da će najverovatnije kod koji je više od dve godine normalno radio, raditi i dalje. Problem prilikom testiranja je bio što je sistem ponekad slao mailove, ponekad ne, ponekad samo parcijalno od 4 i tako redom. To me je u toku testiranja izluđivalo jer sam svo vreme bio ubeđen da nešto sa kodom nije u redu...



 
Odgovor na temu

[es] :: PHP :: PHP mail funkcija me izluđuje

[ Pregleda: 1432 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.