php - ak nevyplni nieco tak sa sa neposle mail

Programovacie jazyky, rady, poradňa...
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

to je problem ze nwm jak by som ti poslal €, najlesie by bolo keby ze som ti neco cez sms kupil :D (napriklad kredity na neco, alebo hocico cez SMS)
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

to ti tu mame zakazdym posielat uplne presne linky jak nejakemu individu co ma poruchu mozgu ze si to nevie vyhladat? http://www.php.net/manual/en/function.mail.php#83491
abo pouzijes konecne ten google... no co...http://tinyurl.com/5uyvqhq
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

nejdem zakladat novu temu ked to suvisi stimto
ako urobim aby mi prisiel mail s inym fontom?? aby isla diakritika

//autoeditácia príspevku (06 Feb 2011, 2:06)
nejdem zakladat novu temu ked to suvisi stimto
ako urobim aby mi prisiel mail s inym fontom?? aby isla diakritika
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa audiotrack »

iný font - pošleš ten mail ako html a nie plaintext
diakritika - to sa tu riešilo veľakrát, základom je nastaviť správne kodovanie v hlavičke
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

v com mam chybu?? stale to je font bez diakritiky... to som nasiel na tomto fore a nieco som asi urobil zle

Kód: Vybrať všetko

<?php

if($_GET["potvrd"] == "Odoslať") {

  $komu = "[email protected]";
  $predmet = "Dotaznik jazdca";
  $from = "From: $email\r\n"
    . "Content-Type: text/plain; charset=UTF-8; format=flowed\n"
    . "MIME-Version: 1.0\n"
    . "Content-Transfer-Encoding: 8bit\n"
    . "X-Mailer: PHP\n";
  $telo = "";
  $telo .= "Dotaznik jazdca\n\r\r";
  $telo .= "\n";
  $telo .= "Meno:                          ".$_GET["1"]."\n\r";
  $telo .= "Priezvisko:                    ".$_GET["2"]."\n\r"; 
  $telo .= "Prezivka:                      ".$_GET["3"]."\n\r";
  $telo .= "Datum narodenia:               ".$_GET["4"]."\n\r";
  $telo .= "Bydlisko:                      ".$_GET["5"]."\n\r";
  $telo .= "Startove cislo:                ".$_GET["6"]."\n\r";
  $telo .= "Prvy zavod:                    ".$_GET["7"]."\n\r";
  $telo .= "Najlepsie umiestnenie:         ".$_GET["8"]."\n\r";
  $telo .= "Kontakt na jazdca:                             ".$_GET["9"]."\n\r";
  $telo .= "Co pre teba znamena scooter / skuter?          ".$_GET["10"]."\n\r";
  $telo .= "Ine konicky?                                   ".$_GET["11"]."\n\r";
  $telo .= "Co studujes?                                   ".$_GET["12"]."\n\r";
  $telo .= "Ako dlho jazdis?                               ".$_GET["13"]."\n\r";
  $telo .= "Na akom skutri by si chcel/la jazdit najradsej?   ".$_GET["14"]."\n\r";
  $telo .= "Ako si sa dostal k scooter-racingu?       ".$_GET["15"]."\n\r";
  $telo .= "Oblubene okruhy?                          ".$_GET["16"]."\n\r";
  $telo .= "Kam by si sa chcel ist v buducnosti?      ".$_GET["17"]."\n\r";
  $telo .= "Mas nejaky vzor/oblubeneho jazdca?        ".$_GET["18"]."\n\r";
  $telo .= "Ake je tvoje oblubene jedlo?              ".$_GET["19"]."\n\r";
  $telo .= "Aky je tvoj oblubeny napoj?               ".$_GET["20"]."\n\r";
  $telo .= "Co najradsej pocuvas za hudbu??           ".$_GET["21"]."\n\r";
  $telo .= "----------------\n";
  $telo .= "Team:                		      ".$_GET["22"]."\n\r";
  $telo .= "Kontakt na team:     		      ".$_GET["23"]."\n";
  
  
  // *******************************//
  // --odoslanie samotneho mailu--- //
  // *******************************//
  if(@mail($komu, $predmet, $telo, $od)) {

    echo("Dotazník jazdca bol úspešne odoslaný webmastrovi");

    } else {

      echo("Niektorá zo služieb zlyhala. Skúste to prosím neskôr.");

  }

	} else {

	  echo("Požiadavka na odoslanie neprišla z formulára.");

}



?>
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

Kód: Vybrať všetko

function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') {
  $header_='MIME-Version: 1.0'."\r\n".'Content-type: text/plain; charset=UTF-8'."\r\n";
  mail($to, "=?UTF-8?B?".base64_encode($subject).'?=', $message, $header_ . $header);
}
ten subor cez ktory odosielas data by mal byt ulozeny vo formate utf-8

(jaktoze pripona php nieje povolena ani inc uuuch ani txt)
no nejak som sa nato pozrel a takto by to malo vyzerat
Prílohy
email.zip
zhruba
(1.31 KiB) 15 stiahnutí
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

este by som potreboval taku jednu vec :

co mam ten dotaznik, tak by som ta potreboval dorobit v php prílohu
v html to uz mam ale len to php mi chyba...mam aj kod ale neviem kde a ako to tam mam dat :(
v dotaznik.rar su 3subory
dotaznik.html - moje html kde uz je aj pripravene na prilohu
dotaznik.php - moje php /vsetko okrem tej prilohy :( /
email.php - tam je php na prilohu aj html / html uz mam vlozene v mojom ale to php neviem/

Vopred dakujem....Jožo
Prílohy
dotaznik.rar
(3.24 KiB) 18 stiahnutí
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

och ved som pisal ze staci az si vlozis do php len tu deklaraciu function a zmeniz mail na mail_utf8 a rovnake parametre len to $od bude obsahovat prvy riadok

a hlavne si zmen metodu posielania formulara na POST a enctype musi byt multipart-form

Kód: Vybrať všetko

method="post" enctype="multipart/form-data"
a teraz navod pre pokrocilych:

Kód: Vybrať všetko

otvorit subor emal.php
oznacit riadky 2-72
ctrl+c
otvorit subor dotaznik.php
nastavit sa na riadok cislo 2
ctrl+v
najst riadok   if(@mail($komu, $predmet, $telo, $od)) {
zmenit na   if(mail_utf8($komu, $predmet, $telo, $od)) {
pre istotu najst   $od = "From: $email\r\n"
    . "Content-Type: text/plain; charset=UTF-8; format=flowed\n"
    . "MIME-Version: 1.0\n"
    . "Content-Transfer-Encoding: 8bit\n"
    . "X-Mailer: PHP\n";
zmenit na  $od = "From: $email\r\n";
vyskusat
napisat na forum o uspechu/neuspechu
pribalit chybove hlasenia ak mail neprisiel
poznamka napr ku azet.sk az chces aby ti ten mail tam prisiel FROM: musi obsahovat domenu to je text za @ ktora existuje zn. da sa nanu pripojit v inom pripade ti azet ten mail nedoruci tak napr. [email protected] ti neprijde ale [email protected] ti prijde
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

napisalo Niektorá zo služieb zlyhala. Skúste to prosím neskôr.

a vsetko som urobil ako si napisal, aj som to tu dal

ale mail dosiel, ale takto [skusil som 3krat] aj bez prilohy to tak doslo

Kód: Vybrať všetko

Content-type: multipart/mixed; boundary="PHP-mixed-44941388bba5bdf47f25a12491f358cb"

--PHP-mixed-44941388bba5bdf47f25a12491f358cb 
Content-Type: multipart/alternative; boundary="PHP-alt-44941388bba5bdf47f25a12491f358cb" 
 
--PHP-alt-44941388bba5bdf47f25a12491f358cb 
Content-Type: text/html; charset='utf-8' 
Content-Transfer-Encoding: 8bit 
 
Dotaznik jazdca
  
Meno:                  s
 Priezvisko:            žč6777
 Prezývka:              ť
 Dátum narodenia:       č
 Bydlisko:              č
 Štartovné číslo:        ž
 Motocykel:             žý
 Prvý pretek:           ž
 Najlepšie umiestnenie:   ý
 Kontakt na jazdca:       ý
 Team:                    ýá
 Kontakt ba team:         č
 Záľuby:                  ýťá
 Ako si sa dostal k pretekom skútrov:   ýý
 Obľúbené okruhy:       č
 Obľúbený jazdec:       ý
 Obľúbené jedlo:        ý
 Obľúbený nápoj:        ý
 Čo najradšej počúvaš za hudbu?         ý
  
 
--PHP-alt-44941388bba5bdf47f25a12491f358cb-- 
 
  
 
--PHP-mixed-44941388bba5bdf47f25a12491f358cb-- 
Prílohy
Desktop.rar
(2.61 KiB) 15 stiahnutí
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

davaj to do zip a nie rar
to davas zdrojovy kod alebo ti to takto vidis aj bez toho?
no ked na formulare je post tak aj $_GET['1 az nevemkolko'] sa meni na $_POST['1 az nevemkolko']
poslem ti maila ze jak ti prijde
ked chces aby ti nepisalo ze nieco zlyhalo tak daj v deklaracii na konci pred mail() return
dalsie je ze kde tam mas definovanu premennu $email bo ja ju vooobec nevidzim

Kód: Vybrať všetko

<?php
header("content-type:text/html;charset=utf-8");
function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') {

//handle uploaded files
for($i=0; $i < count($_FILES['priloha']['tmp_name']); $i++)
{
  if(is_uploaded_file($_FILES['priloha']['tmp_name'][$i]) &&
   !empty($_FILES['priloha']['size'][$i]) &&
   !empty($_FILES['priloha']['name'][$i]))
	{

	$f_contents  =file_get_contents($_FILES['priloha']['tmp_name'][$i]);
	$attachment[]=chunk_split(base64_encode($f_contents));

	$ftype[]       =$_FILES['priloha']['type'][$i];
	$fname[]       =$_FILES['priloha']['name'][$i];
	}
}


$random_hash = md5(date('r', time()));

  $header_=<<<eoh
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="PHP-mixed-{$random_hash}"
eoh;

$attachments="";
for($j=0;$j<count($ftype); $j++)
{
	$attachments.=<<<eoa
--PHP-mixed-{$random_hash}
Content-Type: {$ftype[$j]}; name="{$fname[$j]}"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="{$fname[$j]}"

$attachment[$j]

eoa;
}
$message=<<<eom
--PHP-mixed-{$random_hash}
Content-Type: multipart/alternative; boundary="PHP-alt-{$random_hash}"

--PHP-alt-{$random_hash}
Content-Type: text/plain; charset='utf-8'
Content-Transfer-Encoding: 8bit

{$message}

--PHP-alt-{$random_hash}--

{$attachments}

--PHP-mixed-{$random_hash}--

eom;

return  mail($to,"=?UTF-8?B?".base64_encode($subject).'?=',$message,$header.$header_);
}
if($_POST["potvrd"] == "Odoslať")
{
   for($i=1; $i <= 19; $i++) if($_POST[$i]=="") exit("Musite vyplnit vsetko");
  $komu = "[email protected]";
  $predmet = "Dotaznik jazdca";
  $od = "From: [email protected]\r\n";
  $telo = "";
  $telo .= "Dotaznik jazdca\n\r\r";
  $telo .= "\n";
  $telo .= "Meno:                  ".$_POST["1"]."\n\r";
  $telo .= "Priezvisko:            ".$_POST["2"]."\n\r";
  $telo .= "Prezývka:              ".$_POST["3"]."\n\r";
  $telo .= "Dátum narodenia:       ".$_POST["4"]."\n\r";
  $telo .= "Bydlisko:              ".$_POST["5"]."\n\r";
  $telo .= "Štartovné číslo:        ".$_POST["6"]."\n\r";
  $telo .= "Motocykel:             ".$_POST["7"]."\n\r";
  $telo .= "Prvý pretek:           ".$_POST["8"]."\n\r";
  $telo .= "Najlepšie umiestnenie:   ".$_POST["9"]."\n\r";
  $telo .= "Kontakt na jazdca:       ".$_POST["10"]."\n\r";
  $telo .= "Team:                    ".$_POST["11"]."\n\r";
  $telo .= "Kontakt ba team:         ".$_POST["12"]."\n\r";
  $telo .= "Záľuby:                  ".$_POST["13"]."\n\r";
  $telo .= "Ako si sa dostal k pretekom skútrov:   ".$_POST["14"]."\n\r";
  $telo .= "Obľúbené okruhy:       ".$_POST["15"]."\n\r";
  $telo .= "Obľúbený jazdec:       ".$_POST["16"]."\n\r";
  $telo .= "Obľúbené jedlo:        ".$_POST["17"]."\n\r";
  $telo .= "Obľúbený nápoj:        ".$_POST["18"]."\n\r";
  $telo .= "Čo najradšej počúvaš za hudbu?         ".$_POST["19"]."\n\r";
  if(mail_utf8($komu, $predmet, $telo, $od))
      echo("Dotaznik jazdca bol uspesne odoslany webmastrovi");
    else
      echo("Niektorá zo služieb zlyhala. Skúste to prosím neskôr.");
} else
    echo("Požiadavka na odoslanie neprišla z formulára.");
?>
poslal som ti to takto mal by si to mat na maile uz
a prosim si zeleninovy osuch
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

ach jaj,....to tvoje mi doslo uplne super

ale ked som to dal na web tak ako si mi to tu napisal

zase

mohol by si tu dat presne tvoje ako si to odosielal php aj html??

lebo neviem co som zase ja dorobil ^^... :? :? :?
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

si robis akoze srandu? och
na tom html som nic nemenil to php je rovnake ako je vyssie to v code
nenapises co nefunguje nenapises ci to vyhodilo chybu ci nie
subory si uloz vo formate unicode without BOM
az to nefunguje tak mas problem so serverom skus to spustit na inom.
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

no super co teraz...

na webzdarma.cz som skusal a tam to ide pohode a tam kde to potrebujem mam Forpsi
na webzdarma.cz som doslo pohode aj s prilohou ale na Forpsi kde to teda chcem

Kód: Vybrať všetko

Content-type: multipart/mixed; boundary="PHP-mixed-fbabb4810d968dcabeba4b83dca7c882"

--PHP-mixed-fbabb4810d968dcabeba4b83dca7c882 
Content-Type: multipart/alternative; boundary="PHP-alt-fbabb4810d968dcabeba4b83dca7c882" 
 
--PHP-alt-fbabb4810d968dcabeba4b83dca7c882 
Content-Type: text/plain; charset='utf-8' 
Content-Transfer-Encoding: 8bit 
 
Dotaznik jazdca
  
Meno:                  ťž
 Priezvisko:            ť
 Prezývka:              žť
 Dátum narodenia:       žť
 Bydlisko:              žť
 Štartovné číslo:        ž
 Motocykel:             ťžýť
 Prvý pretek:           ťý
 Najlepšie umiestnenie:   ť
 Kontakt na jazdca:       ž
 Team:                    žť
 Kontakt ba team:         ť
 Záľuby:                  ý
 Ako si sa dostal k pretekom skútrov:   ťý
 Obľúbené okruhy:       ťýž
 Obľúbený jazdec:       ťýž
 Obľúbené jedlo:        ť
 Obľúbený nápoj:        ýžť
 Čo najradšej počúvaš za hudbu?         žý
  
 
--PHP-alt-fbabb4810d968dcabeba4b83dca7c882-- 
 
--PHP-mixed-fbabb4810d968dcabeba4b83dca7c882 
Content-Type: image/jpeg; name="wtf.jpg" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="wtf.jpg" 
 
/9j/4QvfRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA 
agEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyA 
AAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTE6MDI6MTIgMTI6MTY6 
NTAAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAAFAKADAAQAAAABAAAC0AAAAAAAAAAGAQMAAwAA 
AAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIA 
BAAAAAEAAAqpAAAAAAAAAEgAAAABAAAASAAAAAH/2P/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSA 
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM 
DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM 
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAWgCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEF 
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB 
BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHx 
Y3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm 
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS 
0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0 
pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8Arbk4cg70t6SU4ciNcqwe .......
//autoeditácia príspevku (12 Feb 2011, 18:50)
e teraz som zistil jednu vec ze na http://webmail.forpsi.com/ mi to došlo normalne s prilohou....v com je potom chyba ked v outlooku mi to robit take blbosti a dojde bez prilohy??

//autoeditácia príspevku (16 Feb 2011, 17:37)
odpisali mi z Forpsi

Kód: Vybrať všetko

Dobry den,

Po precteni cele konverzace jsem zjistil, ze nepujde o winamail.dat, jak se domnival kolega ze zakaznicke podpory. Z vasich screnshotu je zrejme, ze pricina je v nekorektne sestavene hlavicce emailu. V tele emailu se zobrazi cast hlavicky. Velmi casto byva pricina v pouziti odradkovani - na nasich serverech je potreba misto odradkovani \n\r pouzivat \n (ve Vasem pripade je toto pouzivano pro odradkovani dat formulare).

Abych nepracoval s vasimi skripty, prekopiroval jsem oba soubory dotaznik.htm a dotaznik.php do adresare forpsi. Upravil adresu prijemce tak, abych do Outlooku 2007 dostal Vas formular. Priloha (vcetne obrazku) byla dorucena a zobrazena korektne (viz screenshot). 


Muzete prosim upresnit podminky, za kterych dochazi k vami popisovane situaci tak, abych je mohl nasimulovat ve skriptu v adresari forpsi
co teda treba urobit??
do prilohy som dal ten moj dotaznik
Prílohy
dotaznik_m.zip
(2.55 KiB) 13 stiahnutí
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa audiotrack »

veď ti napísali kde je problém a ako ho odstrániť. Namiesto \r\n máš používať iba \n
A aj tak stále nechápem prečo to robíš takto komplikovanie a nepoužiješ phpmailera
xjojox2246
Star
Star
Používateľov profilový obrázok
Príspevky: 631
Registrovaný: 14 aug 2008, 13:12

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa xjojox2246 »

no urobil som to \r\n som dal vsade iba \n a stale nejde ...
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: php - ak nevyplni nieco tak sa sa neposle mail

Príspevok od používateľa juho »

ty si tam mal \n\r hmm len tak pre poriadok nieje to nahodou \r\n ? mas vsetko naopak
Napísať odpoveď