Készítettem egy regisztrációs formot. Várhatóan 1000 ember körül fog rá regisztrálni, úgy két hónap mulva lesz az esemény, amire regisztrálni lehet. Arra gondoltam, hogy aki regisztrál, annak emailben is meg kelljen erősíteni a regisztrációs szándékát. A mail() function elég egyszrű a PHP-ban, de azt szeretném kérdezni, hogyam állítsam be a levél header-jét
Arra gondoltan hogy egy html levelet küldök, amiben egy táblázat kerül, a kitöltött form alapján, valamint egy link amire kattintva erősíthetjük meg regisztrációs szándékunkat.
-Tehát a kérdésem: hogy állítsam be a levél headrejét
-Érdemes-e egyáltalán megerősítést kérni, vagy ennek tulképpen nincs is sok értelme
-jó ötlet e HTML levelet küldeni.
-vagy multipart levelet küldjek, és azt hogyan
Egy másik kérdés még ami érdekel, hogy ha egy függvényem egy sessionből veszi a paraméterét, akkor aggasztó e az hogy ezt a session értéket meg lehet változtatni, és ezáltal lehetővé tenni a támadónak, hogy egy másik személy adatait kérdezze le (gondolom a válasz az hogy igen, de mekkora ennek a kockázata. én úgy véltem hogy nagy, ezért nem is alkalmaztam ezt)
köszi
- 5289 megtekintés
Hozzászólások
en igy szoktam
function send_mail ( $_receiver, $_subject, $_message, $_sender = "", $_sender_mail = "" )
{
$header .= "Return-Path: <".$_sender_mail.">\r\n";
$header .= "MIME-Version: 1.0";
$header .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n";
$header .= "From: =?utf-8?B?".base64_encode($_sender)."?= <".$_sender_mail.">\r\n";
$header .= "X-Sender: <".$_sender_mail.">\r\n";
$header .= "X-Mailer: mailer\r\n";
$header .= "X-Priority: 1\r\n";
$_subject = ("=?utf-8?B?".base64_encode($_subject)."?=");
mail( $_receiver, $_subject, $_message, $header );
}
- A hozzászóláshoz be kell jelentkezni
Köszi Oregon
Ha jól látom ez sima plaintext levél
én csak amiatt gondoltam html-re, hogy ott a hivatkozás (amelyre kattintva aktiválhatom a regisztrációmat) link-ként jelenhessen meg
Ez lenne a jó, szerintem
- A hozzászóláshoz be kell jelentkezni
link kliens fuggo, de altalaban linkke (klikelheto) alakul.
htm,l levelnek plusz pontot adnak a spamszurok.,
- A hozzászóláshoz be kell jelentkezni
Ez csak privát vélemény, de ha nem használsz olyan neveket, hogy $_SESSION['user_id'], vagyis olyat, ami könnyen kitalálható, (tehát pl. a $_SESSION['sdkj92kjds9_id_ekjreie'] megfelelő :- ) ), és a kódot sem adod ki a kezedből, akkor nem túl könnyen lehet kihasználni. Ebből gondolom a másodikat a nehezebb betartani, pl. elég egy elírt .htaccess file, és máris olvasható a kód.. .
- A hozzászóláshoz be kell jelentkezni
köszi
Ennek illene utánanéznem mondjuk ezen a címen. A .htacces fájlt elírod, attól moundjuk még nem tudsz beletekinteni egy php fájlba. csak ha leáll az interpreter.
- A hozzászóláshoz be kell jelentkezni
Ez biztos?
Próbáld ki ezt:
AddHandler server-parsed .php
- A hozzászóláshoz be kell jelentkezni
akkor ezek szerint még akkor sem láthatod a php kódot, ha leáll a php parser :)
(mondjuk nem az én szerverm, csak értenek hozzá ...)
- A hozzászóláshoz be kell jelentkezni
Hm? Ez csak _1_ példa volt arra hogy lehet úgy elírni a .htaccess fájlt, hogy a kódhoz hozzá lehessen férni, de még számtalan ilyen létezik.
- A hozzászóláshoz be kell jelentkezni
hogy állítsam be a levél headrejét
Ugy, hogy oda csak ellenorzott adat kerulhessen be, olyan meg veletlenul se, ami cca. 200 email cimer tartalmaz.
Érdemes-e egyáltalán megerősítést kérni,
Mindenkeppen, egyreszt kiveded vele a viccelodoket, masreszt igy csak ervenyes es elo email cimed lesznek.
jó ötlet e HTML levelet küldeni.
Ha muszaj....
vagy multipart levelet küldjek,
Illik, hogy a levelnek legyen text/plain resze is. A hogyanhoz nezz meg egy ilyen level forrasat, es azt utanozd le. Egy tanacs: szoveges levelet ne base64 kodolj - igy a spammerek leveleznek...
ASK Me No Questions, I'll Tell You No Lies
- A hozzászóláshoz be kell jelentkezni
nekem base64 nelkul nem sikerult az utf8 nameg kodolas nelkul nem lesznek ekezetek a subjectben,
- A hozzászóláshoz be kell jelentkezni
A body-t is base64 kodolod?
ASK Me No Questions, I'll Tell You No Lies
- A hozzászóláshoz be kell jelentkezni
azt nem kell. csak a subject baszodik el, ha nincs base64
- A hozzászóláshoz be kell jelentkezni
En ezt ugy szoktam megoldani, hogy egyreszt az ekezetekkel ne legyen gond ezert UTF-8 a level meg a subject is. Kb. az alabbi modon oldottam meg:
mail ("cim@ze.tt, "=?UTF-8?B?" . base64_encode("ide jon a subject akar ekezetekkel") . "?=", "email tartalma szinten utf8", "From: Felado [el@a.do]\r\nReply-to: Felado [fel@a.do]\r\nContent-Type: TEXT/PLAIN; charset=UTF-8\r\nMIME-Version: 1.0"); // [] == <> termeszetesen, csak nem jelenitette meg ha ugy irtam.
Emellett en korbewrappeltem a mail fuggvenyemet 1 masikkal ami archivalja adatbazisba a kimeno emaileket mindenfele parameterekkel (pl. remote_addr), hogy ha valami miatt esetleg spammelnek vele (ami amugy kizart de paranoid alkat vagyok), akkor konnyebben lehessen hibat keresni. Idokozben kiderult, hogy a hulye-user problemara is eleg sokszor jol jon az archivum... :)
- A hozzászóláshoz be kell jelentkezni
Javaslom a PHPMailer használatát. Hatékony, gyors, flexibilis, és könnyen tudsz róla HTML és/vagy plain text leveleket küldeni. Itt van: http://phpmailer.sourceforge.net
- A hozzászóláshoz be kell jelentkezni
+1
Én/mi is a phpmailer classt használjuk. Teljesen jó, könnyen használható, megoldható vele, hogy egyszerre kiküldi a HTML és a Plain text leveleket is. Ha nincs saját SMTP szervered, beállíthatod a szolgáltató SMTP szerverét is. Nem utolsó sorban a PHP alap mail() fgv-e könnyen a SPAM -merek "áldozata" lesz. A phpmailer segítségével ez is kiküszöbölhető (megmondom őszintén, túlnyomó részt mi ezért használjuk ezt). De most inkább nem írok többet, mert azt se tom merre vok fejjel,megittunk itten egy üveg whiskey-t, meg amúgy is lassan menni kell a dizsibe... :D
- A hozzászóláshoz be kell jelentkezni
+1. Mindenre, ami PHP és E-Mail.
multipartos levelek: szerintem ha nem muszáj, akkor marajd a mezei plain/text -s leveleknél. Bár lehet, hogy csak én utálom túlzottan a !mezei szöveg leveleket.
---
A Linux nem Windows, de a Windows se Linux.
- A hozzászóláshoz be kell jelentkezni
Én se nagyon szeretem őket
Kipróbáltam volna Oregon kódját, de ha már PHPMailer ennyire alap ebben a kategóriában, akkor használom azt.
Köszi mindenkinek.
- A hozzászóláshoz be kell jelentkezni
arra van-e jó megoldás, ha phpmailer-t használok, az üzenetet tárgyastul utf-8-ban szeretném kódolni, de van egy csv attachment-em, amit viszont iso-8859-2-ben? vagy ez esetben külön kódoljak mindent "kézzel"?
kösz ha tudtok segíteni.
ph
- A hozzászóláshoz be kell jelentkezni
az egyes reszek siman lehetnek eltero kodolassal kezelve, a Content-type-nal szepen meg kell adni, hogy az a resz micsoda...
ASK Me No Questions, I'll Tell You No Lies
- A hozzászóláshoz be kell jelentkezni