Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
lall
HV vaatleja
liitunud: 16.08.2006
|
30.07.2010 14:47:00
PHP "mailsend" probleem |
|
|
Tervist,
Säärane kood sai kokku pandud olemasoleval näidisel.
Probleem selles, et kui ma ei lisa attachmenti siis kogu kupatus läheb teele plain textina ja ilma utf-8'ta.
Kui lisada attachment, siis on kõik superhea.
Kus ma nüüd midagi nii mööda panin?
<?php
// Read POST request params into global vars
$to = "xxx.xxx@mail.ee";
$from_name = "xxx";
$from = "xxx@xxx";
$subject = "Hinnapäring kodulehelt";
$message = "<html>
<body>
<br /><b>Ruumi mõõdud suurus, köögi mõõtmed</b>: ".$_POST["element_1"]."
<br /><b>Mööbli karkass</b>: ".$_POST["element_7"]."
<br /><b>Mööbli nähtav osa</b>: ".$_POST["element_8"]."
<br /><b>Tööpind</b>: ".$_POST["element_9"]."
<br /><b>Taust</b>: ".$_POST["element_16"]."
<br /><b>Uksed</b>: ".$_POST["element_10"]."
<p>
<br /><b>Uste mehhanismid</b>:
<br /><b>Avanevad üles</b>: ".$_POST["element_11_1"]."
<br /><b>Avanevad vasakule paremale</b>: ".$_POST["element_11_2"]."
<br /><b>Muu</b>: ".$_POST["element_11_3"]."
<p>
<br /><b>Käepidemed</b>: ".$_POST["element_12"]."
<br /><b>Sahtliboksid</b>: ".$_POST["element_13"]."
<br /><b>Valamu kuju</b>: ".$_POST["element_14"]."
<br /><b>Valamu materjal</b>: ".$_POST["element_15"]."
<br /><b>Valgustus</b>: ".$_POST["element_17"]."
<br /><b>Tehnika</b>: ".$_POST["element_18"]."
<br /><b>Lisainfo</b>: ".$_POST["element_2"]."
<br /><b>Eesnimi</b>: ".$_POST["element_4_1"]."
<br /><b>Perenimi</b>: ".$_POST["element_4_2"]."
<br /><b>Meiliaadress</b>: ".$_POST["element_5"]."
<br /><b>Telefon</b>: ".$_POST["element_6"]."
</p>
</body>
</html>";
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Headers
// To send HTML mail, the Content-type header must be set
$headers = "From: ".$from_name." <".$from.">" . "\r\n";
$headers .= "Reply-To: ".$from_name." <".$from.">" . "\r\n";
$headers .= "Date: ".date("r") . "\r\n";
// Additional headers
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"PHP-alt-" . $semi_rand . "\"\r\n";
$headers .= "Message-Id: <" . md5(uniqid(microtime())) . "@" . $_SERVER["SERVER_NAME"] . ">\r\n";
// Obtain file upload vars
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from";
if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"UTF-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
// Base64 encode the file data
$data = chunk_split(base64_encode($data));
// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}
// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Mail sent! Yay PHP!</p>";
}
else {
echo "<p>Mail could not be sent. Sorry!</p>";
}
?> |
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
Valdars
HV veteran

liitunud: 22.02.2003
|
30.07.2010 15:49:04
|
|
|
"Content-Type: text/html; charset=\"UTF-8\"\n" . |
See osa peaks maili saatma UTF-8 HTML-ina. Millegipärast on see faili kaasapanekut kontrolliva if-lause sees. Proovi see ettepoole tõsta.
|
|
Kommentaarid: 47 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
44 |
|
tagasi üles |
|
 |
lall
HV vaatleja
liitunud: 16.08.2006
|
30.07.2010 17:26:31
|
|
|
Kõige ilmselgem jääb ju alati kahe silma vahele.
Saad aru, ma olen 2 päeva jutti seda korda üritanud saada..
Nüüd läheb meil teele html'ina ja utf-8 kodeeringuga, kuid üks kummaline asi o siiski.
Kiri on märgitud "kirjaklambriga" isegi siis kui manust pole.
See pole küll väga häiriv asjaolu, pigem prof. huvi.
<?php
// Read POST request params into global vars
$to = "xxx@mail.ee";
$from_name = "xxx";
$from = "xxx";
$subject = "Hinnapäring kodulehelt";
$message = "<html>
<body>
<br /><b>Ruumi mõõdud suurus, köögi mõõtmed</b>: ".$_POST["element_1"]."
<br /><b>Mööbli karkass</b>: ".$_POST["element_7"]."
<br /><b>Mööbli nähtav osa</b>: ".$_POST["element_8"]."
<br /><b>Tööpind</b>: ".$_POST["element_9"]."
<br /><b>Taust</b>: ".$_POST["element_16"]."
<br /><b>Uksed</b>: ".$_POST["element_10"]."
<p>
<br /><b>Uste mehhanismid</b>:
<br /><b>Avanevad üles</b>: ".$_POST["element_11_1"]."
<br /><b>Avanevad vasakule paremale</b>: ".$_POST["element_11_2"]."
<br /><b>Muu</b>: ".$_POST["element_11_3"]."
<p>
<br /><b>Käepidemed</b>: ".$_POST["element_12"]."
<br /><b>Sahtliboksid</b>: ".$_POST["element_13"]."
<br /><b>Valamu kuju</b>: ".$_POST["element_14"]."
<br /><b>Valamu materjal</b>: ".$_POST["element_15"]."
<br /><b>Valgustus</b>: ".$_POST["element_17"]."
<br /><b>Tehnika</b>: ".$_POST["element_18"]."
<br /><b>Lisainfo</b>: ".$_POST["element_2"]."
<br /><b>Eesnimi</b>: ".$_POST["element_4_1"]."
<br /><b>Perenimi</b>: ".$_POST["element_4_2"]."
<br /><b>Meiliaadress</b>: ".$_POST["element_5"]."
<br /><b>Telefon</b>: ".$_POST["element_6"]."
</p>
</body>
</html>";
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Headers
// To send HTML mail, the Content-type header must be set
$headers = "From: ".$from_name." <".$from.">" . "\r\n";
$headers .= "Reply-To: ".$from_name." <".$from.">" . "\r\n";
$headers .= "Date: ".date("r") . "\r\n";
// Additional headers
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"PHP-alt-" . $semi_rand . "\"\r\n";
$headers .= "Message-Id: <" . md5(uniqid(microtime())) . "@" . $_SERVER["SERVER_NAME"] . ">\r\n";
// Obtain file upload vars
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from";
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"UTF-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Base64 encode the file data
$data = chunk_split(base64_encode($data));
// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}
// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Mail sent! Yay PHP!</p>";
}
else {
echo "<p>Mail could not be sent. Sorry!</p>";
}
?> |
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
Celos
Kreisi kasutaja

liitunud: 23.08.2005
|
31.07.2010 02:51:37
|
|
|
OT: Sul maili sisus üks <p> tag sulgemata
|
|
Kommentaarid: 16 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
15 |
|
tagasi üles |
|
 |
karu
HV kasutaja
liitunud: 08.08.2002
|
31.07.2010 03:11:28
|
|
|
lall kirjutas: |
Nüüd läheb meil teele html'ina ja utf-8 kodeeringuga, kuid üks kummaline asi o siiski.
Kiri on märgitud "kirjaklambriga" isegi siis kui manust pole.
|
seda teeb multipart/mixed.
ja mida peab '$headers = "From: $from";' tegema ?
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
lall
HV vaatleja
liitunud: 16.08.2006
|
02.08.2010 08:22:11
|
|
|
Oh tänud jällegi, kood kubiseb veel vigadest, aga toimib.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
02.08.2010 08:38:56
|
|
|
Eesmärgiks on iseõppimine emaili saatmisel?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
lall
HV vaatleja
liitunud: 16.08.2006
|
02.08.2010 08:55:54
|
|
|
Iseõppimine kindlasti - PHP on millegipärast jäänud minu teadmistepagasist välja.
Aga tegelikult läheb koodijupp perefirma kodukale.
Arvad, et andmete saatmine peaks mööda turvalisemat kanalit liikuma?
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
02.08.2010 10:22:33
|
|
|
Ei, pigem mõtlen et kui production värk, siis soovitaks parem a'la Swift Mailerit või PHPMailerit.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
lall
HV vaatleja
liitunud: 16.08.2006
|
02.08.2010 10:37:39
|
|
|
Tänud, vaatan asja üle.
Tundub, et ülesehitus on märksa lihtsam ja loogilisem küll.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|