| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Keskustelut - PHP - PHP:llä ä,ö=?saara 13:11 20.1.09 Help me! Millä konstilla saan php lomakkeella tulostumaan sähköpostiin ä ja ö näkyy ?-merkkinä? Aiheesta oli keskustelua-> http://mureakuha.com/keskustelut/2?11199p2 (en osaa tällä ohjeella sitä korjata) Miten laitan postin headeriin content-typellä oikean charsetin? editoitu: 13:14 20.1.09 eis 13:14 20.1.09 Miten laitat siihen postiin headerit muuten? Käytätkö jotain maililuokkaa, mail-funktiota vai mitä? Koodia näkyville? Samalla lailla kuin muut headerit olet asettanut mailiisi asetat tuonkin. saara 13:13 21.1.09 Tällaiselta tämä näyttää: $etunimi = $_POST['etunimi']; $sukunimi = $_POST['sukunimi']; $ip = getenv("REMOTE_ADDR"); } //Asetukset $vastaanottaja = "tähän sähköposti osoite"; $otsikko = "Palaute"; $viesti .= "Etunimi: $etunimi\r\n"; $viesti .= "Sukunimi: $sukunimi\r\n"; $viesti .= "Palaute tuli IP:sta: $ip\r\n"; mail($vastaanottaja, $otsikko, $viesti, "From: palautelomake <>"); header("Location: ****.html"); editoitu: 14:38 21.1.09 eis 14:31 21.1.09 PHP Muotoon (käytin nyt tuossa samanlaista rivitystä kun olit itse käyttänyt) PHP $merkisto = 'iso-8859-1'; // tähän se character set jota käytät, tod näk ISO tai UTF $headerit = "From: palautelomake <>\r\n"; // kertoo lähettäjän - tässä olisi ehkä hyvä olla jonkinlainen lähettäjän sähköpostiosoite $headerit .= "Content-Type: text/plain; charset=$merkisto\r\n"; // jos käyttäisit HTML-muotoisia viestejä, tätä pitäisi muuttaa vastaavasti $headerit .= "Content-Transfer-Encoding: 8bit"; // rivi kertoo, että käytät merkkejä, jotka ovat perus 7-bittisen US-ASCII:n ulkopuolella (esim. skandeja) mail($vastaanottaja, $otsikko, $viesti, $headerit); Ks. esim manuaalin neljäs esimerkki. saara 09:28 21.3.09 Tuhannet kiitokset sinulle avustasi :) ...unohdin omissa tohinoissani kiittää, sain sivun päivitettyä ja se on OK. editoitu: 07:09 24.3.09 a1a 07:08 24.3.09 Jos vielä haluat esim. lähettäjän nimeen tai otsikkoon skandeja, niin ne pitää enkoodata erikseen, koska headereissa ei voi käyttää merkkejä ASCIIn ulkopuolella. Esim: $otsikko = "=?UTF-8?B?".base64_encode($otsikko)."?="; Tuo siis enkoodaa UTF-8 -otsikon base64:llä, ja nykyaikaisen sähköpostiohjelman pitäisi osata dekoodata tuo. Sama homma esim. jos sähköpostin from- tai replyto-kentissä on ääkkösiä, esim. "Äiti <aiti@koti.fi>". Jos käyttää ISOa niin sitten vaan aloittaa kentän "=?ISO-8859-15?". Ja myös muut kun base64-enkoodaus pitäisi toimia, googlella löytynee esimerkkejä.Rate 12:52 4.3.10 Olisiko mitään neuvoa/keinoa miten saisi lähettäjän / vastaanottojan osoitteeseen ääkköset toimimaan? Kyseessä siis PHP mail() Pitäisi olla: Matti Meikäläinen <ääkköset@osoite.fi> Nyt tulostaa: Matti MeikXlXinen <XXkkXset@osoite.fi> Olen yrittäny vaikka mitä ja ettiny apua vaikka mistä mutta mikään ei tunnu auttavan (tai sitten en vaan osaa) Koitin myös tuota yllä mainittua base64_encodea mutta osoite meni vielä oudommaksi... (voisiko vika olla jossain muualla kuin kirjottamassani koodissa?) Alla koodi kuten se nyt on, pienillä sensuureilla. $Name = $_POST['worker_name']; //senders name $email = $_POST['worker_mail']; //senders e-mail adress $recipient = $_POST['customer_mail']; //recipient $mail_body = "******"; //mail body $subject = "********"; //subject $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/plain; charset=ISO-8859-1' . "\r\n"; $header .= "From: ". $Name . " <" . $email . ">\r\n" . "Bcc: ".$email ."\r\n"; ini_set('SMTP', 'smtp.*******.com'); mail($recipient, $subject, $mail_body, $header); - Rate^ editoitu: 23:52 4.3.10 eis 23:49 4.3.10 Rate kirjoitti: Olisiko mitään neuvoa/keinoa miten saisi lähettäjän / vastaanottojan osoitteeseen ääkköset toimimaan? Koitin myös tuota yllä mainittua base64_encodea mutta osoite meni vielä oudommaksi... 1. Laita se koodi näkyviin millä koodilla yritit, en näe tähän mennessä laittamassa esimerkissäsi base64_encodea charsetrimpsuineen. Aiemmissa viesteissä on neuvottu ihan validit tavat millä ne saa toimimaan. 2. Jo muissa ketjuissa on neuvottu että mail()-funkkaria ei kannata käyttää noihin, vaan mieluiten ihan erillisiä luokkia, koska mail():n käyttö vaatii aika lail osaamista et se menee oikein. 3. Mieluiten avaa uusi ketju eläkä jatka näihin vanhoihin, johon laitat koko sen koodin mitä olet käyttänyt (tämän ketjun ohjeiden mukaisesti). Mental note: aiheesta ois varmaan ideaa kirjoittaa artikkeli wikiin, alkaa olla aika FAQ-materiaalia. poistettu 09:47 8.3.10 Swift ja Zend_Mail olis varmaan ihan käteviä? Runoltaja 18:15 9.3.10 Heh. Alkaa tulla dejavuuta aiemmista ketjuista. Ja pearin mime_mail jne |
![]() Haku
|