Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak ustawić w skrypcie wysyłającym mail "from"
Forum PHP.pl > Forum > PHP
harbii
Poruszałem ten temat kiedyś ale nie dokończono go
mam skrypcik który wysyłamail z mojej stronki. po odczytaniu go w np outlook'u w "OD" mam nazwe swojego serwera.
Jak zrobić aby był wpisany taki adres jak chcę?
Czytałem ze to ustawia sie w php.ini ale tam nie mam dostepu. Może jakiś inny pomysł?
(poprosze o w miare proste wytłumaczenie)
kossa
  1. <?php
  2. function SendMail($do,$temat,$tresc,$od)
  3. {
  4. define("MAIL_FROM",$od);
  5. define("MAIL_HEADER","From: ".MAIL_FROM."nX-Sender: ".MAIL_FROM."nX-Priority: 3nReturn-Path:nContent-Type: text/html; charset=windows-1250n");
  6. $headers=MAIL_HEADER;
  7. mail($do,$temat,$tresc,$headers);
  8. };
  9. ?>


Pozdrawiam,
Łukasz
thornag
Troche nie rozumiem po co definiowac stala ze zmiennej, a pozniej inna stala przypisywac do innej zmiennej zmiennej ?
kossa
Bo to tak na szybko dla przykładu był przerobiony skrypt dla @harbii. Ja mam u soebie stalą jako stałą :-)

Łukasz
harbii
Sorry ale nie bardzo czaje jak to wpiąć w mój skrypt:
  1. <?php
  2. error_reporting(E_ALL^E_NOTICE^E_WARNING);
  3. ?>
  4. <?php
  5. if(isset($_POST['submit'])){
  6. if(!ereg ("^.+@.+..+$", $_POST['cc'])){$error['mail']="<span style='color: red;'>Nieprawidłowy adres e-mail</span>";}
  7. if(strlen($_POST['symbol'])<=3){$error['symbol']="<span style='color: red;'>Niewybrałeś symbolu</span>";}
  8. if($_POST['zamowienie']==""){$error['zamowienie']="<span style='color: red;'>Niewpisałeś treści zamówienia</span>";}
  9. if(empty($error)){
  10. $d = $_REQUEST["symbol"];
  11. $e = $_REQUEST["zamowienie"];
  12. $m = $_REQUEST["cc"];
  13. $headers = "";
  14. $headers .= "cc:" . $_REQUEST["cc"] . "rn";
  15. $result = mail("mail@costam.pl", "ZAMÓWIENIE: ".$d." Od: ".$m,"ZAMÓWIENIE: ".$d."n"."Od: ".$m."n".$e, $headers);
  16. echo '<br>
  17. <br>
  18. <div align="center"><font size="+2" color="red">ZAMÓWIENIE ZOSTAŁO WYSŁANE</font></div>'; die();
  19. }
  20. }
  21.  
  22. ?>
  23.  
  24.  
  25. <table><tr><td>
  26. </td><td><h1><i>Formularz zamówienia.</i></h1></td></tr>
  27. <tr><td align="right" valign="top">
  28. <form method="post" action="?">
  29. twój e-mail: <br /><?php echo $error['mail']; ?></td><td><input type="text" name="cc" value="<?php echo $_POST['cc']; ?>" /></td></tr>
  30. <tr><td align="right" valign="top">
  31. Podaj symbol produktu: <br /><?php echo $error['symbol']; ?></td><td>
  32. <textarea name="symbol" cols="50" rows="1">MK-<?php echo !$error['symbol']?$_POST['symbol']:'MK-'; ?></textarea></td></tr>
  33. <tr><td align="right" valign="top">
  34. Wpisz treść zamówienia: <br /><?php echo $error['zamowienie']; ?></td>
  35. <td>
  36. <textarea name="zamowienie" cols="50" rows="8"><?php echo $_POST['zamowienie']; ?></textarea></td></tr><tr><td></td><td align="right" valign="top">
  37. <input type="submit" name="submit" value="Wyślij zamówienie" />
  38. </form>
kossa
Na początek to prośba - używaj BBcode.

Tam gdzie wywołujesz funkcje meil() możesz wywołać moją SendMail($do,$temat,$tresc,$od); tylko wcześniej przygotuj do niej dane, np Twój temat:

  1. <?php
  2. $temat="ZAMÓWIENIE: ".$d." Od: ".$m;
  3. ?>


itd.

Łukasz
harbii
Nie wiem co źle robie ale nie działa sad.gif
ograniczyłem skrypt do:

PLIK1:
  1. <?php
  2. <body>
  3. <table><tr><td></td><td align="left" valign="top">
  4. <h3>Napisz do nas wiadomość e-mail: <</h3></td></tr>
  5. <tr><td align="right" valign="top">
  6. <font size="-1">e-mail:</font></td><td align="left" valign="top">
  7. <form method=post action="mail.php">
  8. <textarea name="name" cols="50" rows="1"></textarea></td></tr>
  9. <tr><td align="right" valign="top">
  10. <font size="-1">Treść wiadomości:</font></td>
  11. <td align="left" valign="top">
  12. <textarea name="message" cols="50" rows="8"></textarea>
  13. <br>
  14. <Input type="submit" value="Wyślij"></form>
  15. </td></tr></table></body>
  16. ?>


i PLIK2:
  1. <?php
  2.  
  3. function SendMail("admin@fvk.pl","temat jakiś",$_REQUEST["message"],$_REQUEST["name"])
  4. {
  5. define("MAIL_FROM",$_REQUEST["name"]);
  6. define("MAIL_HEADER","From: ".MAIL_FROM."nX-Sender: ".MAIL_FROM."nX-Priority: 3nReturn-Path:nContent-Type: text/html; charset=windows-1250n");
  7. $headers=MAIL_HEADER;
  8. $result = mail("admin@fvk.pl","temat jakiś",$_REQUEST["message"],$headers);
  9. };
  10. ?>


nie wysyła wiadomości.
czy mozesz poprawić ten skrypt tak aby wysyłał wiadomości i w "od" był e-mail wpisany na stronce w miejscu "name"?
kossa
Nie wywołujesz funkcji do wysłania meila w ogóle, to php nie wie co ma zdobic w drugim pliku i dlatego nic nie zwraca i coś tam jeszcze pozmieniałeś... :-)

Tak na szybko z ręki - jeśli będą jakieś błędy to już chyba dasz sobie rade (jakieś literówki itp) - plik2 - mail.php:

  1. <?php
  2. function SendMail($email_do,$temat,$tresc,$email_od)
  3. {
  4. define("MAIL_HEADER","From: ".$email_od."nX-Sender: ".$email_od."nX-Priority: 3nReturn-Path:nContent-Type: text/html; charset=windows-1250n");
  5. $headers=MAIL_HEADER;
  6. mail($email_do,$temat,$tresc,$headers);
  7. };
  8.  
  9.  
  10. $tresc=$_REQUEST["message"];
  11. $email_od=$_REQUEST["name"];
  12. $email_do="admin@fvk.pl";
  13. $temat="temat jakiś";
  14.  
  15. SendMail($email_do,$temat,$tresc,$email_od);
  16. ?>


edit:
pousuwaj oczywiście gdzie trzeba \ bo się dodało na forum :-)
harbii
biggrin.gif biggrin.gif biggrin.gif biggrin.gif
WIELKIE DZIĘKI exclamation.gif!!
biggrin.gif biggrin.gif biggrin.gif biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.