Formularz e-mail na stronie - nic nie dochodzi

0

Cześć Wszystkim. Próbuję dodać formularz kontaktowy na stronę i niby wszystko ok i wyświetla komunikat "Dzięki za kontakt" to mimo to nic nie dochodzi. Mógłby ktoś pomóc to poprawić. z góry bardzo Dziękuję.

index.php

<body>
<?php
if(isset($_POST["SubmitBtn"])){

$to = "[email protected]";
$subject = "Contact mail";
$from=$_POST["email"];
$msg=$_POST["msg"];
$headers = "From: $from";

mail($to,$subject,$msg,$headers);
echo "Dzięki za kontakt.";
}
?>
<form id="emailForm" name="emailForm" method="post" action="" >
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="1">
<tr>
  <td colspan="2"><strong>Kontakt</strong></td>
</tr>
<tr>
  <td>E-mail :</td>
  <td><input name="email" type="text" id="email"></td>
</tr>
<tr>
  <td>Wiadomość :</td>
  <td>
  <textarea name="msg" cols="45" rows="5" id="msg"></textarea>
  </td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td><input name="SubmitBtn" type="submit" id="SubmitBtn" value="Wyślij"></td>
</tr>
</table>
</form>
</body>

Tak jest na hosyingu. Lecz testując na xamppie mam komunikat:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\Testowy\E-mail\index.php on line 20
Dzięki za kontakt.

Linia 20:

mail($to,$subject,$msg,$headers);
2

Przy Twoim obecnym kodzie wysyłasz maila za pomocą najprostszej funkcji mail, jak widzisz w kodzie - nie podajesz tam żadnych danych autoryzacyjnych (login hasło, serwer). W tym momencie pomyśl, co by było gdybym ja wysyłał takie wiadomości i wpisał tam Twój adres email oraz imię i nazwisko? Podszywalbym się pod Ciebie... A to prowadzi do wielu problemów, dlatego serwery (hostingi) nie akceptują przeważnie takiej funkcji, dlatego musisz podać dane do SMTP (simple mail transfer protocol o ile dobrze kojarzę) i tam podać dane do konta z którego te maile będa wysyłane (konto musi istnieć).

Poza tym polecam użyć biblioteki phpmailer, która załatwi za Ciebie wiele rzeczy i będzie przyjemniejsza w użyciu nawet co chodzi o korzystanie z SMTP /załączników itp itd. W internecie znajdziesz masę przykładów jak dokładnie użyć tej biblioteki, chociazby w dokumentacji od samej biblioteki.

2

To nawet nie o to chodzi, po prostu z local'a nie wyślesz maila (bez odpowiedniej konfiguracji xampp'a).

0

Masz włączony moduł Mercury w Xamppie ? Jakieś inne aplikacje nie blokują portu np. outlook ?

0

Próbowałam coś zrobić ale idzie topornie o ile udało mi się użyć phpmailer (ver 6.1) i utworzyć pliki z pomocą composer o tyle dalej zaczynają się schody bo niby wszystko jest w necie wyjaśnione lecz potrzebuję bardziej łopatologicznie. Pytanie pierwsze $mail->addAddress czy tutaj podaje swój adres e-mail na który mają być kierowane wiadomości ze strony? Pytanie drugie jak poprawnie zapisać setFrom(''); by nadać id tak by dane od kogo przechwycić z formularza (elementu input). Chyba że w input jako id wpisuje setFrom a tu pozostawiam taksetFrom(''); ? Trzecie pytanie : Czy jeszcze coś tu potrzebuje? O ile idę w dobrym kierunku Z góry dziękuję już siedzę trochę nad tym ale zakręciłam się maksa . Pozdrawiam

<?php 
  
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 
  
require vendor/autoload.php'; 
  
$mail = new PHPMailer(true); 
  
try { 
    $mail->SMTPDebug = 0;                                        
    $mail->isSMTP();                                             
    $mail->Host       = 'serwer1999.home.pl';                     
    $mail->SMTPAuth   = true;                              
    $mail->Username   = 'serwer1999';                  
    $mail->Password   = 'haslo';                         
    $mail->SMTPSecure = 'ssl';                               
    $mail->Port       = 465;   
  
    $mail->setFrom('f');            
    $mail->addAddress('[email protected], 'Aga'); 
       
    $mail->isHTML(true);                                   
    $mail->Subject = 'Subject'; 
    $mail->Body    = '';  
    $mail->send(); 
    echo "Dziękuję za kontakt"; 
} catch (Exception $e) { 
    echo "Coś poszło nie tak :( {$mail->ErrorInfo}"; 
} 
  
?> 
0

W addAddress dajesz odbiorcę (to chyba powinno być w dokumentacji), jako username dla pewności podalbym Twój cały adres mailowy, w polu from (metoda set From) daj swój poprawny adres np tak Aga Mazur <[email protected]>.

Ww. Porady powinny pomoc. W razie czego ustaw wyższy poziom debugowania (smtpdebug na 1 lub 2 o ile dobrze pamiętam), to Ci wyjątku rzuci konkretne info.

[edit]
Ogólnie jeśli to formularz kontaktowy to w Set from ustaw np Formularz że strony... <[email protected]> nadawcę (dane kontaktowe typu email, imię nazwisko, telefon) wsadz w tresc maila np.
Email że strony...
Od:....
Telefon....
Wiadomowc....
W przypadku formularza kontaktowego w metodzie addAddress daj jednak swój adres

0

Tak jest to w dokumentacji masz rację może za dużo myślę i kombinuję, wydawało mi się że to ja jestem odbiorcą bo ktoś ze strony będzie pisał do mnie Podpowiedz mi proszę.Skoro wszystko daje w Set Form to jak tu pododawać id inny do od, inny od)e-mail) i inny id do samej treści wiadomości. Bo już się pogubiłam

0

To od kogo jest wiadomość podajesz w treści wiadomości. W mailu z formularza jako nadawcę masz sama siebie i jako odbiorcę. Ja np bardzo często zakładam sobie skrzynkę w danej domenie jako np [email protected] i wysyłam sobie na jakiś już określony prywatny czy służbowy adres. Natomiast to od kogo jest wiadomość pakuję do treści maila.

0

Kup sobie jakiś hosting na sax.pl za dychę z subdomeną, lub na https://www.ct8.pl/ są jak widzę darmowe konta do założenia i warto brać do ćwiczeń.
Tam poćwicz online proste skrypty, zrób cokolwiek co działa.
Tutaj wrzucałem kontakty których sam kiedyś używałem i działają na pewno:
Skrypty do PHP

0

Wybaczcie że Was męczę. Przerobiłam trochę kod i myślę że jestem coraz bliżej celu. Problem wydaje mi się że tkwi w konfiguracji PHP. Jak moglibyście się przyjrzeć i pomóc w konfiguracji . Niby wszystko dobrze a nie dostaje wysłanych wiadomości. Może też pocztę na którą mają przychodzić wiadomości muszę skonfigurować by takowe wiadomości otrzymywać ze strony?

Poniżej komunikat jaki mam po kliknięciu w wyśkij czy to testując lokalnie czy też na hostingu

Could not access file - to pojawia się jak nie dodam pliku w wiadomości. Dodając plik już tego nie ma i jest tylko to co poniżej:

2019-09-14 1856 SERVER -> CLIENT: +OK localhost IdeaPop3Server 0.83.292 ready.
2019-09-14 1856 CLIENT -> SERVER: EHLO 127.0.0.1

Poniżej dodatkowo na serwerze lokalnym pojawia się error, chodzi o time limit bo kręci po kliknięciu w Wyślij i kręci(około minuty)

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Testowy\mail\vendor\phpmailer\phpmailer\src\SMTP.php on line 1125

Fragment kodu jest na samym dole a cały PHPMailer wraz z SMTP.php w załączniku

Mam hosting na home pl i tam też do serwera utworzyłam konto pocztowe. Posiadam takie oto dane:

Serwery pocztowe
POP3
serwer1999676.home.pl  Port/SSL: 995
SMTP
serwer1999676.home.pl  Port/SSL: 465
IMAP
serwer1999676.home.pl  Port/SSL: 993

A oto kod PHP:
Jako port podałam 995 (POP3, port poczty przychodzącej bo mam odbierać na serwerze tak mi się wydaje)

<?php
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 


if(!empty($_POST["send"])) {
    require_once ('vendor/autoload.php');
    
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPDebug = 2;
    $mail->SMTPAuth = TRUE;
    
    $mail->Port = 995;
    
    $mail->Username = "serwer1999352";
    $mail->Password = "ufIVs7q1D5lbaUmw";
    
    $mail->Mailer = "smtp";
    
    if (isset($_POST["userEmail"])) {
        $userEmail = $_POST["userEmail"];
    }
    if (isset($_POST["userName"])) {
        $userName = $_POST["userName"];
    }
    if (isset($_POST["subject"])) {
        $subject = $_POST["subject"];
    }
    if (isset($_POST["userMessage"])) {
        $message = $_POST["userMessage"];
    }
    $mail->SetFrom($userEmail, $userName);
    $mail->AddReplyTo($userEmail, $userName);
    $mail->AddAddress("[email protected]"); 
    
    $mail->Subject = $subject;
    $mail->WordWrap = 80;
    $mail->MsgHTML($message);
    
    $mail->IsHTML(true);
    
    $mail->SMTPSecure = 'ssl';
    $mail->Host = 'serwer1999.home.pl';
    
    if (! empty($_FILES['attachment'])) {
        $count = count($_FILES['attachment']['name']);
        if ($count > 0) {
           
            for ($i = 0; $i < $count; $i ++) {
                if (! empty($_FILES["attachment"]["name"])) {
                    
                    $tempFileName = $_FILES["attachment"]["tmp_name"][$i];
                    $fileName = $_FILES["attachment"]["name"][$i];
                    $mail->AddAttachment($tempFileName, $fileName);
                }
            }
        }
    }
    if (! $mail->Send()) {
        $message = "Ups :( Coś poszło nie tak";
        $type = "error";
    } else {
        $message = "Wiadomość Zosała wysłana pomyślnie";
        $type = "success";
    }
}

A o to fragment tego kodu: ** Linia 1125: if (!stream_select($selR, $selW, $selW, $this->Timelimit)) {**

 $selR = [$this->smtp_conn];
        $selW = null;
        while (is_resource($this->smtp_conn) and !feof($this->smtp_conn)) {
            //Must pass vars in here as params are by reference
            if (!stream_select($selR, $selW, $selW, $this->Timelimit)) {
                $this->edebug(
                    'SMTP -> get_lines(): timed-out (' . $this->Timeout . ' sec)',
                    self::DEBUG_LOWLEVEL
                );

W załączniku podałam całą bibliotekę PHPMailer w tym plik vendor\phpmailer\phpmailer\src\SMTP.php

1

Podajesz port SMTP bo z taką usługą chcesz się komunikować. Według podanych informacji to 465. W "replay to" wpisz albo swój mail albo zostaw puste. Jak w kliencie poczty klikniesz "odpowiedz" to będzie użyty ten adres. Czyli ktoś odpowie sam do siebie.

0

Tak ale jak zrobiłam na port smtp czyli 465 to dopiero powyskakiwały komunikaty a ja tego nie potrafię rozszyfrować A co do hasła i hosta to są pozmieniane ale chciałam w przybliżeniu by zweryfikować poprawność samej składni jaka jest na home pl

2019-09-14 2058 SERVER -> CLIENT: 220 cloudserver3235609-3235640.home.pl ESMTP IdeaSmtpServer 0.83.292 ready.
2019-09-14 2058 CLIENT -> SERVER: EHLO 127.0.0.1
2019-09-14 2058 SERVER -> CLIENT: 250-cloudserver3235609-3235640.home.pl Hello 89-64-38-133.dynamic.chello.pl [89.64.38.133], pleased to meet you250-PIPELINING250-ENHANCEDSTATUSCODES250-SIZE250-8BITMIME250-AUTH PLAIN LOGIN250-AUTH=PLAIN LOGIN250 HELP
2019-09-14 2058 CLIENT -> SERVER: AUTH LOGIN
2019-09-14 2058 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2019-09-14 2058 CLIENT -> SERVER: <credentials hidden="hidden">
2019-09-14 2058 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2019-09-14 2058 CLIENT -> SERVER: <credentials hidden="hidden">
2019-09-14 2058 SERVER -> CLIENT: 235 2.7.0 User serwer1999676 logged in.
2019-09-14 2058 CLIENT -> SERVER: MAIL FROM:[email protected]
2019-09-14 2058 SERVER -> CLIENT: 550 5.1.8 Sender address rejected
2019-09-14 2058 SMTP ERROR: MAIL FROM command failed: 550 5.1.8 Sender address rejected
The following From address failed: [email protected] : MAIL FROM command failed,Sender address rejected,550,5.1.8SMTP server error: MAIL FROM command failed Detail: Sender address rejected SMTP code: 550 Additional SMTP info: 5.1.8

0

W setaFrom podajesz mail usera a to pewnie ma być jednak w addAdrress. Końcówka błędu mowi, że serwer nie może wysłać maila gdzie jako nadawca podano adres [email protected].
Generalnie to nadwca to jakis Twój mail z Twojej domeny. Odbiorca to adres użytkownika.

0

Zamieniłam poniżej ale błąd czasu wyskoczył bo kręci kręci i nic . Już nie wiem jak to ugryźć mam mętlik

 .......
  $mail->SetFrom($userEmail, $userName);
  $mail->AddReplyTo($userEmail, $userName);
  $mail->AddAddress("[email protected]"); 
   ......
```na     

```php
 .......
 $mail->SetFrom("[email protected]"); 
  $mail->AddReplyTo("");
 $mail->AddAddress($userEmail, $userName);
 .........

Przepraszam nie zmieniłam portu. Po zamianie wyskakuje ten sam błąd co wyżej

0

Spróbuj dla celów testowych założyć koto tutaj: https://debugmail.io. Jest to skrzynka pocztowa służąca do celów testowych podczas tworzenia aplikacji.

Serwer też może wymagać, by maile były wysyłane z konta pocztowego połączonego z domeną.

EDIT: Podajesz chyba złe dane do autoryzacji z SMTP. Jako username powinien być chyba email do skrzynki, a hasłem hasło do skrzynki.

0

Według porady zmieniłam dane logowania na pocztę zamiast na serwer. Lecz jeśli jest tak:

.......
    $mail->SetFrom($userEmail, $userName);
    $mail->AddReplyTo($userEmail, $userName);
    $mail->AddAddress("[email protected]"); 
     ......

Pojawia się dalej ten sam błąd czyli:

The following From address failed: [email protected] : MAIL FROM command failed,Sender address rejected,550,5.1.8SMTP server error: MAIL FROM command failed Detail: Sender address rejected SMTP code: 550 Additional SMTP info: 5.1.8

A jeśli zmienie zmienne miejscami tak:

   .......
   $mail->SetFrom("[email protected]"); 
    $mail->AddReplyTo("");
   $mail->AddAddress($userEmail, $userName);

To wszystko działa lecz zamiast na moją pocztę wysłać wiadomość wysyła z mojej [email protected] na tą podaną w formularzu czyli na [email protected] (specyjalnie założyłam by wedzieć gdzie to idzie) Powinno być na opak od mail podany w formularzu na ten [email protected])
.........

0
Agniecha18 napisał(a):

A jeśli zmienie zmienne miejscami tak:

   .......
   $mail->SetFrom("[email protected]"); 
    $mail->AddReplyTo("");
   $mail->AddAddress($userEmail, $userName);

To wszystko działa lecz zamiast na moją pocztę wysłać wiadomość wysyła z mojej [email protected] na tą podaną w formularzu czyli na [email protected] (specyjalnie założyłam by wedzieć gdzie to idzie) Powinno być na opak od mail podany w formularzu na ten [email protected])
.........

Czyli działa tak jak powinno^^

setFrom - wysyłający maila
addAddress - adresat maila

Jak chcesz zamienić miejscami maile, to musisz zrobić tak: (jeśli podasz maila z formularza w setFrom, to serwer może to zablokować, bo mail może być z innej domeny)

$mail->SetFrom(<tutaj podajesz maila z domeny>); 
$mail->AddReplyTo($userEmail);
$mail->AddAddress("[email protected]");
0

No właśnie nie bo wchodząc na formularz na stronie powiedzmy klient (tak prościej) nie będzie pisał sam do siebie wiadomości byle tylko by w polu od było ode mnie. W skrócie mail wychodzi na adres podany w formularzu.

A po Twoich zmianach jest tak jakbym pisała sama do siebie mam wiadomość co prawda ale w polu od kogo jestem ja zamiast mail podany przez klienta w formularzu.

Klient wpisuje imię i nazwisko maila oraz wiadomość i to ma do mnie dojść na [email protected] to jestem ja odbiorca maila oraz to mail z mojej domeny. A wysyłającym ze strony jest klient podający swoje dane w tym maila Tylko jak wyświetlić jego maila w polu od a może na stronach kontaktowych nie wiem sklepów czegokolwiek to się inaczej im wyświetla ale mus być gdzieś to od zawarte

0
Agniecha18 napisał(a):

No właśnie nie bo wchodząc na formularz na stronie powiedzmy klient (tak prościej) nie będzie pisał sam do siebie wiadomości byle tylko by w polu od było ode mnie. W skrócie mail wychodzi na adres podany w formularzu.

No właśnie nie :P Klient nie wysyła maila z własnej skrzynki, tylko przez formularz na Twojej stronie, z Twojej skrzynki. Więc de facto to Ty jesteś wysyłającym maila. Więc to ma być Twój mail tam podany. Inaczej serwer może uznać, że Twoja strona się podszywa pod kogoś i by mógł zablokować wysłanie maila.

Dlatego mail ma być wysłany z maila z Twojej domeny (np. [email protected], [email protected], itp.), a żeby wiedzieć kto to wysłał, to używa się replyTo.

0

Dobrze dziękuję Ci za wyjaśnienia mechanizm jest dla mnie zrozumiały no poniekąd :) Czyli na hostingu mam domenę i do niej adres pocztowy [email protected] i tu przychodzą wiadomości z formularza. To teraz mam założyć drugiego maila z tą domeną np: [email protected] . Założyłam i dalej nie wiem od kogo jakbym napisała z jednej poczt na drugą ale od podanego maila w formularzu nie ma

0
Agniecha18 napisał(a):

Dobrze dziękuję Ci za wyjaśnienia mechanizm jest dla mnie zrozumiały no poniekąd :) Czyli na hostingu mam domenę i do niej adres pocztowy [email protected] i tu przychodzą wiadomości z formularza. To teraz mam założyć drugiego maila z tą domeną np: [email protected] i wtedy w końcu zobaczę maila podanego w formularzu ?

Możesz użyć w from i to tego samego maila. Byleby był z domeny.

Ogólnie staraj się trzymać takiego czegoś:

  1. Wysyłka z Twojej strony (np. formularz kontaktowy), jesteś adresatem:
  • setFrom -> mail z Twojej domeny
  • addAddress -> mail adresata
  • replyTo -> mail nadawcy
  1. Wysyłka z Twojej strony, ale na mail klienta (np. przypomnienie hasła):
  • setFrom -> mail z Twojej domeny
  • addAddress -> mail nadawcy
  • replyTo -> Twój mail
0

Wielkie Dziękuję za pomoc i wybacz że Cię męczę. Powiedz mi proszę gdzie właśnie w otrzymanej wiadomości znajdę maila podanego w formularzu? czyli nasze ReplyTo . Nigdzie nie mogę znaleźć Tak zrobiłam skoro może być ten sam mail

    $mail->SetFrom("[email protected]"); 
    $mail->AddReplyTo($userEmail);
    $mail->AddAddress("[email protected]");
2

To już zależy chyba od klienta pocztowego^^ Jak klikniesz na "odpowiedz", to powinno jako odbiorcę użyć maila z replyTo.

0

Dziękuję Ci ślicznie. tak jest w odpowiedzi :) A teraz tylko z ciekawości nie ma jakiegoś sposobu by wyświetlić to od kogo jakoś bardziej przejrzyście? Bo chyba na profesjonalnych stronach raczej chyba jest to jakoś rozwiązane jeszcze raz Ci dziękuję za okazaną pomoc i spędzony czas :)

0

Raczej to jedyny sposób, by działało. Ale może poczekajmy aż ktoś inny jeszcze się wypowie^^ Jest 2 w nocy, to moje myślenie może być już dość ciężkie^^

0

Z 5 postów wcześniej pisałem, że jest zamienione od z do. Jak sprawdzić dane otrzymanego maila:
https://support.google.com/mail/answer/29436?hl=pl

0

Muszę Was jeszcze prosić o pomoc kod wysyłanie działa wszystko w porządku za co wszystkim bardz dziękuję. Ale mam jeszcze pytanka 2.

  1. Gdy w formularzu użyję polskich znaków w input name na home pl gdzie mam obsługę poczty zamiast polskich liter pojawiło mi się w polu od "RafaÅ" <[email protected]> zamiast Rafał
    Mam kodowanieUtf-8w znaczniku meta. Pytanie czy to po mojej stronie w kodzie czy po stronie home.pl.

  2. Dodałam jeszcze jeden input userPhone tylko nie wiem jak go mogę wyświetlić o ile klikając w odpowiedź na skrzynce teraz widzę od kogo przyszło o tyle nie wiem jak ten telefon wyświetlić w danych z formularza zresztą nie wiem czy poprawnie go dodałam. Chociaż wysyłanie działa poprawnie ale ni widząc go w otrzymanej wiadomości nie sposób tego sprawdzić. Jeszcze raz cały kod php i javascript

<?php
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 


if(!empty($_POST["send"])) {
    require_once ('vendor/autoload.php');
    
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPDebug = 0;
    $mail->SMTPAuth = TRUE;
    
    $mail->Port = 465;
    
    $mail->Username = "[email protected]";
    $mail->Password = "*******";
    
    $mail->Mailer = "smtp";
    
    if (isset($_POST["userEmail"])) {
        $userEmail = $_POST["userEmail"];
    }
    if (isset($_POST["userName"])) {
        $userName = $_POST["userName"];
    }
	if (isset($_POST["userPhone"])) {
        $userPhone = $_POST["userPhone"];
    }	
    if (isset($_POST["subject"])) {
        $subject = $_POST["subject"];
    }
    if (isset($_POST["userMessage"])) {
        $message = $_POST["userMessage"];
    }
    $mail->SetFrom("[email protected]"); 
    $mail->AddReplyTo($userEmail, $userName);
    $mail->AddAddress("[email protected]");
    
    $mail->Subject = $subject;
    $mail->WordWrap = 80;
    $mail->MsgHTML($message);
    
    $mail->IsHTML(true);
    
    $mail->SMTPSecure = 'ssl';
    $mail->Host = 'serwer1999676.home.pl';
    
    if (! empty($_FILES['attachment'])) {
        $count = count($_FILES['attachment']['name']);
        if ($count > 0) {
           
            for ($i = 0; $i < $count; $i ++) {
                if (! empty($_FILES["attachment"]["name"])) {
                    
                    $tempFileName = $_FILES["attachment"]["tmp_name"][$i];
                    $fileName = $_FILES["attachment"]["name"][$i];
                    $mail->AddAttachment($tempFileName, $fileName);
                }
            }
        }
    }
    if (! $mail->Send()) {
        $message = "Ups :( Coś poszło nie tak";
        $type = "error";
    } else {
        $message = "Dziękuję za kontakt";
        $type = "Yuuppi";
    }
}
?>  
<script type="text/javascript">
        function validate() {
            var valid = true;

            $(".info").html("");
            var userName = document.forms["mailForm"]["userName"].value;
			var userPhone = document.forms["mailForm"]["userPhone"].value;
            var userEmail = document.forms["mailForm"]["userEmail"].value;
            var subject = document.forms["mailForm"]["subject"].value;
            var userMessage = document.forms["mailForm"]["userMessage"].value;
            
            if (userName == "") {
                $("#userName-info").html("(required)");
                $("#userName").css('background-color', '#FFFFDF');
                valid = false;
            }
            
			if (userPhone == "") {
                $("#userPhone-info").html("(required)");
                $("#userPhone").css('background-color', '#FFFFDF');
                valid = false;
			}
			if (userEmail == "") {
                $("#userEmail-info").html("(required)");
                $("#userEmail").css('background-color', '#FFFFDF');
                valid = false;
            }
            if (!userEmail.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/))
            {
                $("#userEmail-info").html("(invalid)");
                $("#userEmail").css('background-color', '#FFFFDF');
                valid = false;
            }

            if (subject == "") {
                $("#subject-info").html("(required)");
                $("#subject").css('background-color', '#FFFFDF');
                valid = false;
            }
            if (userMessage == "") {
                $("#userMessage-info").html("(required)");
                $("#userMessage").css('background-color', '#FFFFDF');
                valid = false;			
            }
			
            return valid;
        }
        
        function addMoreAttachment() {
            $(".attachment-row:last").clone().insertAfter(".attachment-row:last");
            $(".attachment-row:last").find("input").val("");
        }
</script>
0

Co do tego telefonu, to nie rozumiem co z nim chcesz zrobić. Gdzie się ma wyświetlać, w wiadomości?
Jeśli tak to przed kodem odpowiadającym za samo wysłanie maila sklejasz tekst np.

$message = $massage. 'Twoj telefon to'. $userPhone;

1 użytkowników online, w tym zalogowanych: 0, gości: 1