Просмотр полной версии : Вопросик по форме отправки почты.
infinitos
02.08.2013, 11:32
Возник вопросик по поводу работы формы для отправки E-mail... Скачал я себе следующую штуку:
http://**************/37466475
со следующим PHP:
<?php
// set flash vars
$name = $_REQUEST["name"];
$message = $_REQUEST["message"];
$sender = $_REQUEST["sender"];
$receiver = $_REQUEST["receiver"];
$subject = $_REQUEST["subject"];
// user infomation
$ip = $_SERVER['REMOTE_ADDR'];
$br = $_SERVER['HTTP_USER_AGENT'];
// compose email
if(isset($name) and isset($message) and isset($sender) and isset($receiver) and isset($subject) ){
$ToEmail = $receiver;
$mailheader = "From: " .$sender."\r\n";
$mailheader .= "Reply-To: ".$sender."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$message_body = "<br /><b>Name:</b> ".$name."<br />";
$message_body .= "<b>Email: </b> ".$sender."<br />";
$message_body .= "<br /><b>Message:</b> <br /> ".$message."<br /><br />";
$message_body .= "<b>IP Address:</b> ".$ip. "<br />";
$message_body .= "<b>Browser Information: </b> ".$br. "<br />";
mail($ToEmail, $subject, $message_body, $mailheader) or die ("Failure");
}
?>
Залил на место... Заполняю поля, жму отправить, пишет - отправлено... На почте полный ноль!
В чем может быть дело? Хостинг поддерживает PHP.
infinitos, файлы нужно прилагать к сообщению ("Расширенный режим" редактирования).
infinitos
02.08.2013, 13:09
добавил архив с исходником в первое сообщение.
Вот какой код PHP предлагает мой бесплатный хостер, но в немецком я увы не бум-бум, а без комментов не пойму как прикрутить к моей форме...
<?php
// ********************************************************************************************************************************
// smtp mail Funktion for kilu user, modifiziert by das Ass 22.03.2008 http://dasass.kilu.de/smtp.txt
// ********************************************************************************************************************************
$name = "Absendername"; // optional
$email = "Absender Mail-Adresse";
$smtphost = 'mail.gmx.net';
$smtpuser = 'Kundennummer';
$smtppass = 'Passwort';
$mailfrom = 'eigene Mail-Adresse';
if(strtoupper(substr(PHP_OS,0,3)=='WIN')) {
$eol="\r\n";
}
elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) {
$eol="\r";
}
else {
$eol="\n";
}
function mailserverparse( $socket, $response ) {
$server_response = null;
while( substr( $server_response, 3, 1 ) != ' ' )
if( !( $server_response = fgets( $socket, 256 ) ) )
trigger_error( 'can not get mail server response codes' );
if( !( substr( $server_response, 0, 3 ) == $response ) )
trigger_error( 'ran into problems sending mail. response: '.$server_response );
return true;
}
function sendmail( $to, $subject, $message, $headers ) {
global $smtphost, $smtpuser, $smtppass, $mailfrom, $eol;
if( !$socket = @fsockopen( $smtphost, 25, $errno, $errstr, 20 ) )
trigger_error( "Could not connect to smtp host: {$errno}:{$errstr}" );
if( trim( $subject ) == null )
trigger_error( 'no email Subject specified' );
$message = preg_replace( "#(?<!\r)\n#si", "\r\n", $message );
if( trim( $message ) == null )
trigger_error( 'message was blank' );
if( !preg_match( '#^from:#i', $headers ) && empty( $mailfrom ) )
trigger_error( 'no FROM header set' );
mailserverparse( $socket, '220' );
fputs( $socket, "HELO ".$smtphost.$eol );
mailserverparse( $socket, '250' );
if( !empty( $smtpuser ) && !empty( $smtppass ) ) {
fputs( $socket, "AUTH LOGIN".$eol );
mailserverparse($socket, '334' );
fputs( $socket, base64_encode( $smtpuser ).$eol );
mailserverparse($socket, '334' );
fputs( $socket, base64_encode( $smtppass ).$eol );
mailserverparse( $socket, '235' );
}
if( $headers != null ) {
$headers = rtrim( $headers );
$headers = preg_replace( '#(?<!\r)\n#si', $eol, $headers );
$header_array = explode( $eol, $headers );
$headers = null;
$cc = null;
$bcc = null;
foreach( $header_array as $header ) {
if ( preg_match( '#^cc:#si', $header ) )
$cc = preg_replace('#^cc:(.*)#si', '\1', $header);
elseif( preg_match( '#^bcc:#si', $header ) ) {
$bcc = preg_replace('#^bcc:(.*)#si', '\1', $header);
$header = null;
}
$headers .= ( $header != null )?$header.$eol:null;
}
$headers = rtrim( $headers );
$cc = explode( ', ', $cc );
$bcc = explode( ', ', $bcc );
}
fputs( $socket, "MAIL FROM: <".$mailfrom.">".$eol );
mailserverparse( $socket, '250' );
$to = empty( $to )?'Undisclosed-recipients:;':trim( $to );
if( preg_match( '#[^ ]+\@[^ ]+#', $to ) ) {
fputs( $socket, "RCPT TO: ".$to.$eol );
mailserverparse( $socket, '250' );
}
if( is_array( $bcc ) )
foreach( $bcc as $address ) {
$address = trim( $address );
if( preg_match( '#[^ ]+\@[^ ]+#', $address ) ) {
fputs( $socket, "RCPT TO: ".$address.$eol );
mailserverparse( $socket, '250' );
}
}
if( is_array( $cc ) )
foreach( $cc as $address ) {
$address = trim( $address );
if( preg_match( '#[^ ]+\@[^ ]+#', $address ) ) {
fputs( $socket, "RCPT TO: ".$address.$eol );
mailserverparse( $socket, '250' );
}
}
fputs( $socket, "DATA".$eol );
mailserverparse( $socket, '354' );
fputs( $socket, "Subject: ".$subject.$eol );
fputs( $socket, "To: ".$to.$eol );
fputs( $socket, $headers.$eol.$eol );
fputs( $socket, $message.$eol );
fputs( $socket, ".".$eol );
mailserverparse( $socket, '250' );
fputs( $socket, "QUIT".$eol );
fclose( $socket );
return true;
}
// Funktionsaufruf zum Senden
$headers ="From: ".(($name)?$name:"Absender")." <".$email.">".$eol;
sendmail( $mailfrom, $subject, $comment, $headers );
?>
alexcon314
02.08.2013, 14:17
// smtp mail Funktion for kilu user, modifiziert by das Ass 22.03.2008 http://dasass.kilu.de/smtp.txt
...
// Funktionsaufruf zum Senden
Прямо кладезь информации. Если это не перевести - ничего не понятно. Немецкий php - самый непонятный из всех php.
infinitos
02.08.2013, 18:39
Прямо кладезь информации. Если это не перевести - ничего не понятно. Немецкий php - самый непонятный из всех php.
Ну если Вам не понятно, то куда мне в калашный ряд...
Отакое вот мне скинули их саппорты...
function send_email($empf, $mailtext, $betreff, $anhang) {
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = “mein.mailserver.de”; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = “XXXXX”; // SMTP username
$mail->Password = “XXXXXX”; // SMTP password
$mail->From = “mein@mailserver.de”;
$mail->FromName = “Mein Name”;
$mail->AddReplyTo(“infinitos@meta.ua”,”Mein Name”);
$teile = explode(“;”, $empf);
reset ($teile);
while (list ($key, $val) = each ($teile)) {
$mail->AddBCC($val);
}
$teile = explode(“;”, $anhang);
reset ($teile);
while (list ($key, $val) = each ($teile)) {
$dateiname = explode(“/”, $val);
$dateiname = array_pop($dateiname);
/// Anhängen
$mail->AddAttachment($val, $dateiname);
}
$mail->IsHTML(true); // send as HTML
$mail->Subject = $betreff;
$mail->Body = $mailtext;
$mail->AltBody = $mailtext;
if(!$mail->Send()) { exit; }
$mail->ClearAddresses();
$mail->ClearAttachments();
}
Издеваются не иначе...
alexcon314
03.08.2013, 23:30
Вы не пробовали самостоятельно поискать информацию и поразмыслить, вместо того, чтобы стенать и писать бессмыленные посты? flash+php+mail - тема очень избитая, даже здесь на форуме можно найти массу примеров и рекомендаций. Да вот же, по русски, заметьте:
Исчерпывающая инструкция по PHP Mailer – Все, что вам надо знать.
(http://php.russofile.ru/ru/translate/mail/phpmailer/)
Или вы ждете, что сейчас вот все все побросают и сбегутся помогать делать вам email-форму?
infinitos
03.08.2013, 23:42
Вы не пробовали самостоятельно поискать информацию и поразмыслить, вместо того, чтобы стенать и писать бессмыленные посты? flash+php+mail - тема очень избитая, даже здесь на форуме можно найти массу примеров и рекомендаций. Да вот же, по русски, заметьте:
Исчерпывающая инструкция по PHP Mailer – Все, что вам надо знать.
(http://php.russofile.ru/ru/translate/mail/phpmailer/)
Или вы ждете, что сейчас вот все все побросают и сбегутся помогать делать вам email-форму?
Сколько эмоций и все как одна негативные... Даже странно как-то. Лениво как-то Вас разубеждать, но справедливости ради замечу, что прежде чем спрашивать кого-то, я всегда пытаюсь сделать сам. Инструкции избитые темы, но что Вам сказали бы термины "лайткеш", "карта фотонов", "поверхностные преломления" или "дисплейсмент"? Думаю, что не особо много... И придя на форум 3Дшников, Вы стали бы задавать глупые и смешные вопросы... Вы ста ли бы казаться ленивым бездарем... Но лишь для тех, кто судит о людях в той же плоскости, что и Вы.
Что же до Вашей ссылки, то прежде чем давать её, не мешало бы проверять..
"Не удается отобразить эту страницу
•Убедитесь, что веб-адрес http://php.russofile.ru правильный.
•Найдите страницу с помощью поисковой системы.
•Обновите страницу через несколько минут."
"К сожалению, Google Chrome не может открыть страницу php.russofile.ru.
Снова откройте страницу: php.*russofile.*ru/*ru/*translate/*mail/*phpmailer/*
Возможные действия:
Открыть кэшированную копию страницы php.*russofile.*ru/*ru/*translate/*mail/*phpmailer/*.
Перейдите на страницу russofile.*ru
Искать в Google:"
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.