Formulář pro odesílání emailů.

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Cici
Začátečník
Začátečník
Uživatelský avatar
Registrován: 20. črc 2005
Kontaktovat uživatele:

Formulář pro odesílání emailů.

Příspěvek od Cici »

Nevíte jak se dá vytvořit formulář jako maj tady: www.bluebord.cz. Myslím tím ten co rychle odešle autorovi e-mail. Tam se to menuje Blueform. :oops: :oops: :roll: :roll:
MSI 648 Max, Intel Pentium 4C 2,4 GHz (2411@2534) Northwood, ATI Radeon 9800 Pro, 512 MB DDR RAM, Genius SW-5.1 Home Theater
Lamicz
Začátečník
Začátečník
Uživatelský avatar
Registrován: 30. kvě 2005
Bydliště: In a galaxy far away...
Kontaktovat uživatele:

Příspěvek od Lamicz »

Cus, napr. tak v PHP:

Kód: Vybrat vše

<?php

$action = $_GET['action'];

if($action == send_email){
  
  $message = $_POST['message'];
  $address = "tvuj@email.cz";
  $subject = "nejaky predmet...";
    
    if($message != ""){
      mail("$address","$subject","$message");            
    }
}

?>

<H2>Poslat e-mail</H2>
<FORM METHOD="POST" ACTION="?action=send_email">
<table>
<tr>
<td>Zpráva:</td>
<td><TEXTAREA NAME="message" ROWS="2" COLS="20"></TEXTAREA></td>
</tr>
<tr>
<td><INPUT TYPE="SUBMIT" VALUE="Poslat"></td>
</tr>
</table>
</FORM>
// EDIT: Tak sry, Jaspere :oops:, to, co mam tady ja, je naprosty minimum pro funkci mail(). ;)
Naposledy upravil(a) Lamicz dne sob 27. srp 2005, 22:14, celkem upraveno 1 x.
:: DESKA :: Asus A8V-XE (VIA K8T890) :: CPU :: AMD Athlon 64 3700+ :: VGA :: ATI Asus GF7600 512MB - passive solution :: RAM :: 4x 256MB Samsung :: HDD :: 80GB Maxtor PATA ::
Jasper
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 25. úno 2004
Kontaktovat uživatele:

Příspěvek od Jasper »

Jde to udelat treba takto. Budes potrebovat nejaky hosting s podporou PHP. Budes mit 2 soubory:

plus.php - tento soubor zobrazi formular na odesilani mailu:

Kód: Vybrat vše

<html>
<head>
<title>mail</title>
</head>
<body>
<?php
$hlaska=$_GET["hlaska"];
if($hlaska==1) echo "Mail byl uspesne odeslan.";
?>
<form method="POST" action="zpracuj.php">
	<p>Váš email : <input type="text" name="email" size="20"></p>
	<p>Předmět: <input type="text" name="predmet" size="20"></p>
	<p>Zpráva: <textarea rows="2" name="zprava" cols="20"></textarea></p>
	<p><input type="submit" value="Odeslat" name="B1"></p>
</form>
</body>
</html>
zpracuj.php - provede odeslani mailu

Kód: Vybrat vše

<?php
$komu="JasperCZ@seznam.cz";

$email=$_POST["email"];
$predmet=$_POST["predmet"];
$zprava=$_POST["zprava"];


$hlavicky  = "From: $email\r\n"; // od koho e-mail posíláme
$hlavicky .= "X-Priority: 3\r\n"; // priorita 1 (nejvyšší), 3, 5 (nejnižší)
$hlavicky .= "X-Mailer: moje PHP\r\n"; // informace o způsobu odeslání
$hlavicky .= "Return-Path: <$email>\r\n"; // zpáteční mailová adresa


mail($komu, $predmet,$zprava, $hlavicky);

header("Location: http://tvuj_web.cz/plus.php?hlaska=1"); 
?>
Misto toho $komu="JasperCZ@seznam.cz"; tam dopis mezi ty uvozovky svuj mail

Ale bacha na ruzne freehostingy, kde maji vetsinou omezene odesilani emailu pomoci te funkce mail. Treba na ic.cz je to tusim na 50 mailu za hodinu...


// EDIT sakris, nez sem to dopsal, tak uz me nekdo predbehl :(
Cici
Začátečník
Začátečník
Uživatelský avatar
Registrován: 20. črc 2005
Kontaktovat uživatele:

Příspěvek od Cici »

Moc dík. :)
MSI 648 Max, Intel Pentium 4C 2,4 GHz (2411@2534) Northwood, ATI Radeon 9800 Pro, 512 MB DDR RAM, Genius SW-5.1 Home Theater
Drom
Začátečník
Začátečník
Uživatelský avatar
Registrován: 18. zář 2005
Bydliště: Kdyne
Kontaktovat uživatele:

Příspěvek od Drom »

server musi podporovat posilani pres funkci mail(). Napr. pokud tam pobezi Kerio Mail Server, tak to bude jinak:

Kód: Vybrat vše

	include('Mail.php');
	$zprava = 'nejakej text, co chces poslat';
	$headers['Return-Path']	= 'adresa@odesilatele';
	$headers['From']		= 'adresa@odesilatele';
	$headers['Subject']		= 'Predmet';
	$headers['Content-Type'] = 'text/html; charset="Windows-1250"';
	$headers['Date'] 		= Date ("r");
	$headers['Importance']	= "Normal";
	$params['host']		= 'localhost';             // adresa serveru
	$params['port']		= '25';                        // port pro pipojeni k serveru
	$params['auth']		= false;
	$params['username']		= '';               // user pro pripojeni
	$params['password']		= '';               // heslo pro pripojeni

	$headers['To'] = 'mail@adresata';             // mail prijemce
	$mail_object =& Mail::factory('smtp', $params);
	$mail_object->send($headers['To'], $headers, $zprava);

       // !!! hlavicka $headers['To'] MUSI byt stejna adresa jako prvni parametr funkce send() - posledni radek - jinak to neposila
Odpovědět

Zpět na „Programování a web“