简体   繁体   中英

PHP E-mail form - Define sender

I'm trying to create a HTML form, which will in the end send an e-mail using the folling PHP Code:

<?php 

$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

$destinationemail = "myemail@domain.com";

$emailcontent = "Name: {$name}\n\nE-Mail: {$email}\n\nMessage: {$subject}\n{$message}";
$subject = "Contact from Domain.com";
$from = $email;

mail($destinationemail, $subject, $emailcontent) or die("Error!");
echo "Thank you $name!";

?>

The problem is, everytime i receive an e-mail, i get is as if being sent from a what i guess is the Webhost general e-mail.

htgkaylg@server776.web-hosting.net 
<htgkaylg@server776.web-hosting.net>
dom 08/10/2017, 18:40
Você;

I would like it to be received something like this:

myemail@domain.com 
<myemail@domain.com>
dom 08/10/2017, 18:40
Você;

Is it possible?

Thank you, Vítor

You have to use the Header as 4th parameter in mail() function. Add this line and change mail as follow:

$headers = "From:" . $from . "\r\n";

mail($destinationemail, $subject, $emailcontent, $headers) or die("Error!");

Ref. https://www.w3schools.com/php/func_mail_mail.asp

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM