HTML — мне нужно создать ссылку mailto из кода PHP

Итак, в данный момент моя html-форма собирает данные и отправляет их в php-форму, которая затем создает и отправляет электронное письмо (следующий код), однако теперь мне нужна форма для создания ссылки mailto, чтобы я могла отправить ее на другую почту аккаунт с моего iphone6, любая помощь, пожалуйста ??? !! 🙂

Код является:

<?php
ini_set( "SMTP", "localhost" );
ini_set( "smtp_port", "25" );

if ( isset( $_POST['caseref'] ) ) {

$email_from = "[email protected]";
$to = "[email protected]";
$email_subject = "Arrival:  " . $_POST['caseref'];

function died( $error ) {
// error code here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error . "<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if ( !isset( $_POST['casreref'] ) ) {
#died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$name = $_POST['name']; // required
$caseref = $_POST['caseref']; // required
$notes = $_POST['notes']; // required

$error_message = "";

$email_message .= "Incident Number: " . $caseref . "\n";
$email_message .= "Arrival Date:" . date( " d/m/Y " );
$email_message .= "\n";
$email_message .= "Arrival Time:" . date( "  H:i  ", time() );
$email_message .= "\n";
$email_message .= "Engineer:  " . $name . " \n";
$email_message .= "Engineers Notes:  " . $notes;
$email_message .= "\n";
$email_message .= "\n";
$email_message .= "\n";


$headers = 'From: ' . $email_from;
mail( $to, $email_subject, $email_message, $headers );
?>
<!-- include your own success html here -->
<html>
<title>Thank you!</title>

Mailto link needs to go here

<?php
}
?>

Может кто-нибудь помочь мне с этим, пожалуйста?

Письмо должно выглядеть так:

mailto: [email protected]

тема: прибытие

тело: номер инцидента: XXXXXX

Дата прибытия: 20/11/2015

Время прибытия: 14:41

Инженер: Дэйв

Примечания инженеров:

-2

Решение

Как мы уже говорили, вам нужно использовать NVP в mailto ссылка на сайт. Чтобы перерывы на новую строку учитывались, вам нужно использовать urlencode() или же rawurlencode() в зависимости от почтовых клиентов и того, как они уважают кодировку.

$to = "[email protected]";
$caseref = "123";
$name = "Bob";
$notes = "Some notes";
$email_subject = "Arrival some data";
$email_message = "Incident Number: " . $caseref . "\n";
$email_message .= "Arrival Date:" . date("d/m/Y");
$email_message .= "\n";
$email_message .= "Arrival Time:" . date("H:i");
$email_message .= "\n";
$email_message .= "Engineer:  " . $name . " \n";
$email_message .= "Engineers Notes:  " . $notes;
$email_message .= "\n";
$email_message .= "\n";
$email_message .= "\n";

// Echo the mail to link
echo '<a href="mailto:'.$to.'?subject='.urlencode($email_subject).'&body='.urlencode($email_message).'">Mail to Link</a>';

// Echo the mail to link using the different encoding
echo '<a href="mailto:'.$to.'?subject='.rawurlencode($email_subject).'&body='.rawurlencode($email_message).'">Mail to Link</a>';

Также обратите внимание: я удалил time() от твоего date() функция, так как по умолчанию time() используется … указывать не нужно.

1

Другие решения

Вы можете попробовать это?

   <!-- Mailto link needs to go here-->
<?php echo'<a href="mailto:'.$to.'" subject="'.$email_subject.'" body="'.$email_message.'>Send mail</a>';?>
0

По вопросам рекламы [email protected]