2016-07-12 5 views
1

Я делаю базу данных клиентов, где я хотел бы добавить возможность отправлять клиентам фиксированное уведомление. Сначала я хотел бы отправить данные на подтверждающий сайт, который также показывает, какие данные сохраняются в нашей базе данных и требует подтверждения для его отправки. После нажатия на кнопку отправки необходимо отправить электронное письмо.Отправка электронной почты с помощью SMTP с использованием PHP

Сейчас я получаю ошибку HTTP 500, как я приступлю к sendmail.php от электронной mail.php

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

Вот короткий код формы (email.php):

<form method="POST" action="sendmail.php"> 
<input type="hidden" name="id" name="id" value="<?php print $id; ?>"> 
Are you sure to send a notification to <strong><?php print $cegnev; ?></strong>? 
<input type="hidden" name="cegnev" value="<?php print $cegnev; ?>"> <br> Hidden input contains: <?php print $cegnev; ?> 
<input type="hidden" name="email" value="<?php print $email; ?>"> <br> Hidden input contains: <?php print $email; ?> 
<input type="hidden" name="szamla_datum" value="<?php print $szamla_datum; ?>"> <br> Hidden input contains: <?php print $szamla_datum; ?> 
<input type="submit" name="elkuld"> 

И это sendmail.php:

<?php 
if(isset($_POST['elkuld'])) { 
    $cegnev   = $_POST['cegnev']; 
    $email   = $_POST['email']; 
    $szamla_datum = $_POST['szamla_datum']; 
} 

$mail = new EMail; 

//Enter your SMTP server (defaults to "127.0.0.1"): 
$mail->Server = "host";  

//Enter your FULL email address: 
$mail->Username = 'username';  

//Enter the password for your email address: 
$mail->Password = 'password'; 

//Enter the email address you wish to send FROM (Name is an optional friendly name): 
$mail->SetFrom("from email","from name"); 

//Enter the email address you wish to send TO (Name is an optional friendly name): 
$mail->AddTo $email;     // #### PROBLEM 

//You can add multiple recipients: 
// $mail->AddTo("[email protected]"); 

//Enter the Subject of your message: 
$mail->Subject = $cegnev;     // #### PROBLEM 

//Enter the content of your email message: 
$mail->Message = $szamla_datum;     // #### PROBLEM 

//Optional extras 
$mail->ContentType = "text/html"; // Defaults to "text/plain; charset=iso-8859-1" 
//$mail->Headers['X-SomeHeader'] = 'abcde'; // Set some extra headers if required 

echo $success = $mail->Send(); //Send the email. 
?> 
+1

'$ mail-> AddTo $ электронной почты;' отсутствует знак равенства или, возможно, круглые скобки, если это метод? – pmahomme

+0

HTTP500 - внутренняя ошибка сервера. Это означает, что ваш код неправильный (часто синтаксические ошибки), проверьте журналы сервера для ошибки. –

ответ

1

Вы обычно получаете ошибку 500, когда есть вид синтаксической ошибки в коде, в данном случае,

Ваша линия здесь: $mail->AddTo $email;

должно быть, при условии электронной почты является соответствующим переменной

$mail->AddTo = $email; или $mail->AddTo($email); ли его переменным или функции в классе

+0

Ах, ты совершенно прав, добавил «=», но все равно не работает. Теперь у меня нет сообщений об ошибках. :) Ммм ... Я больше тестирую. Спасибо! :) –

+0

вместо 'echo $ success = $ mail-> Send();' do 'if ($ mail-> Send()) {echo 'Success';} else {echo 'fail';}' Это даст вы вывод –

+0

А также ваш сервер на самом деле хост, а не localhost? –

Смежные вопросы