Intereting Posts
Как заполнить поле Listbox / dropdown / select из массива PHP Вставка данных в базу данных oracle с использованием php SSI включен в PHP, поскольку шаблон не работает Преобразование массивов в другой формат (PHP) php cors oauth2 проблемы с авторизацией на предъявителя Настройка php-функции так, чтобы она отображала ссылку в виде: – '/ widgets? Pg = 2' вместо 'products.php? Cat = 20 & pg = 2' PHP xml-файл с исправлением ошибок SimpleXML Как создать несколько массивов PHP в функции для параметров, переданных по ссылке? Почему MySQL сообщает о синтаксической ошибке в FULL OUTER JOIN? PHP-почта и строки не должны превышать 70 символов Ошибка HybridAuth / PHP Facebook SDK (getUser возвращает 0) Как отображать изображения с FTP-сервера на странице HTML? Почему MySQL-соединение блокируется из-за многих ошибок подключения? Cant login: mysqli_query () ожидает как минимум 2 параметра, 1 Переменная $ _SESSION не проходит и не знает, почему? он устанавливает, то не проходит

как изменить значение по умолчанию, отправленное по почте: адрес в php mail ()

У меня есть следующий код

$subject = "Subject Here"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Additional headers $headers .= 'From: Domain Name <domain@domain.com>' . "\r\n"; $to = $email; $body = ' My Message here '; mail($to, $subject, $body, $headers); 

и он отправляет почту правильно, но когда я вижу подробности в письме в gmail … он показывает

от имени домена до myemail@myemail.com date Вт, 25 мая 2010 года в 12:41 по теме мой вопрос здесь по почте mars.myhostingcompany.net

в то время как я хочу показать свой собственный адрес в почте по разделу, чтобы он был mydomain.com, а не mars.myhostingcompany.net

Я полагаю, что вы находитесь на общедоступном хостинге, поэтому причина, по которой он показывает адрес вашего хоста, заключается в том, что при настройке PHP существует параметр, называемый «sendmail_from», который является адресом по умолчанию для отправки почты в случае, если адрес не указан в ваш код.

Кажется, вы указываете правильные заголовки в своем коде, поэтому я могу думать только об одной возможности (которую я не могу проверить с этого компьютера). Попробуйте удалить <> вокруг своего адреса электронной почты – возможно, он пытается прочитать это как HTML, и поэтому у вас ничего нет. Это может произойти на машинах Windows, потому что сам PHP анализирует пользовательские заголовки, а не MTA (агент передачи сообщений), а PHP рассматривает любой <> как HTML.

Я понимаю, что он не выглядит профессиональным (поскольку клиент электронной почты не будет показывать имя при получении электронной почты), но если вы работаете с Windows-машиной, вы можете сделать это совсем немного, если не будете переключаться на альтернативу почтовый пакет.

 $subject = "Subject Here"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Additional headers $headers .= 'From: domain@domain.com' . "\r\n"; $to = $email; $body = ' My Message here '; mail($to, $subject, $body, $headers); 

Существует два типа отправителя (From), отправитель MIME заголовка и отправитель envelope .

Вы отправляете отправителя MIME в заголовках в 4-м параметре функции mail() . Вы делаете это хорошо.

Отправитель enveloper (тот, который вы можете отправить при отправке электронной почты через sendmail или совместимую с sendmail оболочку) с флагом -f , устанавливается в параметре 5-й mail() , additional_parameters в том формате, который вы передавали бы ему в командной строке : -femail@address.tld .

Таким образом, ваша почта будет выглядеть следующим образом:

 mail($to, $subject, $body, $headers, "-fdomain@domain.com"); 

// ФОРМА СТРАНИЦЫ:

 <form method="POST" action="mailer.php"> <p>Please feel free to contact me on the form below or my direct email address: jkench@jasonkench.co.uk<br> <br><br> <br> <br> <br> </p> <table width="327" border="0"> <tr> <td width="102">Name:</td> <td width="215"><input type="text" name="name" size="19"></td> </tr> <tr> <td>Company: <label for="company"></label></td> <td><input type="text" name="company"></td> </tr> <tr> <td>Email: </td> <td><input type="text" name="email" size="19"></td> </tr> <tr> <td>Telephone No: <label for="telephone"></label></td> <td><input type="text" name="telephone"></td> </tr> </table> <p><br> Enquiry:<br> <textarea rows="9" name="message" cols="65"></textarea> <br> <br> <input type="submit" value="Submit" name="submit"> </p> </form> 

// PHP MAILER PAGE

 <?php if(isset($_POST['submit'])) { //SEND TO // Send the completed form to the below email address: $to = "myemail@mydomain.co.uk"; //SUBJECT // Subject of the email form: $subject = "Jason Kench - Web Developer"; //NAME //POST the details entered into the name box $name = $_POST['name']; //COMPANY NAME // $company = $_POST['company']; //EMAIL // $email = $_POST['email']; //TELEPHONE NUMBER // $telephone = $_POST['telephone']; //MESSAGE/ENQUIRY $message = $_POST['message']; //Headers from a online site may help not sure $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //FROM EMAIL ADDRESS: // Additional headers to change the FROM EMAIL ADDRESS $headers .= 'From: Web-Contact-Form@mydomain.co.uk' . "\r\n"; // BODY // This is the body of the message that will be sent to my email address with their details. $body = " You have received a message from the online contact form at http://www.jasonkench.co.uk\n Details Below: \n \n From: $name\n Company: $company\n $headers Email Address: $email\n Telephone No: $telephone\n Message: $message\n"; // FORM SENT // This will alert the customer the form has been successfully sent. echo "Your details have been sent, I will contact you within 48 hours."; // Use the mail function to email the following variables to my $to email address. mail($to, $subject, $body, $headers); } else { // Display error message if there is a problem. echo "Sorry there seems to be a problem. Please email me direct at: $to thank you."; } ?>