ISSN 1312-0379

Форма за изпращане на e-mail


 
Тази тема е заключена - не можеш да отговаряте или да променяте мнения    Groove Manifesto Форуми -> Свобода за народа
Предишната тема :: Следващата тема  
Автор Съобщение
blue



Мнения: 4

МнениеПуснато на: Вто Мар 29, 2005 8:37    Заглавие: Форма за изпращане на e-mail Отговорете с цитат

Трябва да направя страница за изпращане на е-mail (обратна връзка). Пробвах няколко варианта със cgi и с php, но не съм доволен. Може би скриптовете които използвам не са подходящи. Препоръчайте ми начин за изпращане на e-mail от web страница.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
georgivar
Site Admin


Мнения: 309
Местожителство: Sofia

МнениеПуснато на: Вто Мар 29, 2005 14:04    Заглавие: Отговорете с цитат

От какво по-точно не си доволен? Има ли нещо специално, което се опитваш да направиш?
_________________
DO LESS. LIVE LONGER.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
bsc system



Мнения: 47
Местожителство: el. Paso

МнениеПуснато на: Вто Мар 29, 2005 22:27    Заглавие: Отговорете с цитат

Ми аз ...е с т'ва нямам проблеми Rolling Eyes

/*** mail.php ***/
Код:

<?php //Start the php script
$recipent = $_POST['recipent']; //Get the recipent from the form
$subject = $_POST['subject']; //Get the subject from the form
$message = $_POST['message']; //Get the message from the form
mail($recipent, $subject, $message); //Send the email
?>

_________________
bscsystem- deviant profile - AtomSolutions
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
blue



Мнения: 4

МнениеПуснато на: Сря Мар 30, 2005 8:16    Заглавие: re Отговорете с цитат

Сега ще дообясня.
Във формата трябва да се въвеждат име, e-mail и текста на съобщението. А на точно определен e-mail трябва да се получаваследното: в полето From: електронния адрес на човека, който е писал, в полето subject: Обратна връзка и името на човека, и накрая текста.
Мецду другото използвам платен хостинг и не мога да прявя промени в настройките на сървъра, а ако не се лъжа функцията mail иска настройка на променливите от страна на сървъра.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
copermine



Мнения: 41
Местожителство: Varna

МнениеПуснато на: Сря Мар 30, 2005 16:06    Заглавие: Отговорете с цитат

МИ тва е Smile

bsc system написа:
Ми аз ...е с т'ва нямам проблеми Rolling Eyes

/*** mail.php ***/
Код:

<?php //Start the php script
$recipent = $_POST['recipent']; //Get the recipent from the form
$subject = $_POST['subject']; //Get the subject from the form
$message = $_POST['message']; //Get the message from the form
mail($recipent, $subject, $message); //Send the email
?>

_________________
Едно от интересните неща в живота е:
че ако отказвате да приемете всичко освен
най доброто, то много често го получавате.
William S. Maugham
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение MSN Messenger
blue



Мнения: 4

МнениеПуснато на: Пет Апр 01, 2005 8:57    Заглавие: Не става... Отговорете с цитат

Тая работа не става,защото когато се използва функцията mail на php трябва да се променят настройки на сървъра, т.е. да се зададе на кой e-mail да се изпращат данните получени от функцаята. А аз използвам платен поделен хостинг и тези работи не могат да се правят.

Очаквам друга идея!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
copermine



Мнения: 41
Местожителство: Varna

МнениеПуснато на: Пет Апр 01, 2005 9:15    Заглавие: Отговорете с цитат

С този class не съм имал проблеми. А ако продължава проблема си смени хостинг фирмата:
Code:
Код:
<?php
class Mail
{
   var $sendto = array();
   var $acc = array();
   var $abcc = array();
   var $xheaders = array();
   var $priorities = array( '1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)' );
   var $charset = "us-ascii";
   var $ctencoding = "7bit";
   var $receipt = 0;

function Mail()
{
   $this->autoCheck( true );
   $this->boundary= "--" . md5( uniqid("myboundary") );
}
function autoCheck( $bool )
{
   if( $bool )
      $this->checkAddress = true;
   else
      $this->checkAddress = false;
}
function Subject( $subject )
{
   $this->xheaders['Subject'] = strtr( $subject, "\r\n" , "  " );
}
function From( $from )
{
   if( ! is_string($from) ) {
      echo "error, From is not a string";
      exit;
   }
   $this->xheaders['From'] = $from;
}
function ReplyTo( $address )
{
   if( ! is_string($address) )
      return false;
   $this->xheaders["Reply-To"] = $address;
}
function Receipt()
{
   $this->receipt = 1;
}
function To( $to )
{

   if( is_array( $to ) )
      $this->sendto= $to;
   else
      $this->sendto[] = $to;

   if( $this->checkAddress == true )
      $this->CheckAdresses( $this->sendto );

}

function Body( $body, $charset="" )
{
   $this->body = $body;
   
   if( $charset != "" ) {
      $this->charset = strtolower($charset);
      if( $this->charset != "us-ascii" )
         $this->ctencoding = "8bit";
   }
}

function Organization( $org )
{
   if( trim( $org != "" )  )
      $this->xheaders['Organization'] = $org;
}

function Priority( $priority )
{
   if( ! intval( $priority ) )
      return false;
      
   if( ! isset( $this->priorities[$priority-1]) )
      return false;

   $this->xheaders["X-Priority"] = $this->priorities[$priority-1];
   
   return true;
   
}

function BuildMail()
{
$this->headers = "";
   
   if( count($this->acc) > 0 )
      $this->xheaders['CC'] = implode( ", ", $this->acc );
   
   if( count($this->abcc) > 0 )
      $this->xheaders['BCC'] = implode( ", ", $this->abcc );
   

   if( $this->receipt ) {
      if( isset($this->xheaders["Reply-To"] ) )
         $this->xheaders["Disposition-Notification-To"] = $this->xheaders["Reply-To"];
      else
         $this->xheaders["Disposition-Notification-To"] = $this->xheaders['From'];
   }
   
   if( $this->charset != "" ) {
      $this->xheaders["Mime-Version"] = "1.0";
      $this->xheaders["Content-Type"] = "text/plain; charset=$this->charset";
      $this->xheaders["Content-Transfer-Encoding"] = $this->ctencoding;
   }

   $this->xheaders["X-Mailer"] = "TMailaerPHP";
   
   $this->fullBody = $this->body;

   reset($this->xheaders);
   while( list( $hdr,$value ) = each( $this->xheaders )  ) {
      if( $hdr != "Subject" )
         $this->headers .= "$hdr: $value\n";
   }
   

}
function Send()
{
   $this->BuildMail();
   $this->strTo = implode( ", ", $this->sendto );
   $res = @mail( $this->strTo, $this->xheaders['Subject'], $this->fullBody, $this->headers );

}

function ValidEmail($address)
{
   if( ereg( ".*<(.+)>", $address, $regs ) ) {
      $address = $regs[1];
   }
    if(ereg( "^[^@  ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$",$address) )
       return true;
    else
       return false;
}
 
function CheckAdresses( $aad )
{
   for($i=0;$i< count( $aad); $i++ ) {
      if( ! $this->ValidEmail( $aad[$i]) ) {
         echo "invalid address $aad[$i]";   
         exit;
      }
   }
}

?>


Ползване:
Код:

require "includes/mail.class.php";
   $m = new Mail;
   $m->From("$from_mail");
   $m->To("$to_mail");
   $m->Subject("$subject");
   $m->Body( "$message" );   
   $m->Priority(3) ;
   $m->Send();

_________________
Едно от интересните неща в живота е:
че ако отказвате да приемете всичко освен
най доброто, то много често го получавате.
William S. Maugham
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение MSN Messenger
bsc system



Мнения: 47
Местожителство: el. Paso

МнениеПуснато на: Съб Апр 02, 2005 12:34    Заглавие: Re: Не става... Отговорете с цитат

blue написа:
Тая работа не става,защото когато се използва функцията mail на php трябва да се променят настройки на сървъра, т.е. да се зададе на кой e-mail да се изпращат данните получени от функцаята. А аз използвам платен поделен хостинг и тези работи не могат да се правят.

Очаквам друга идея!

Shocked Какво неможеш да направиш с тая функция ? Неможеш да зададеш майла на получателя или ?

Код:
mail("admin@microsoft.com","admin@ganja.com", $subject, $message);


Обясни защото не те разбрах, а няма да е зле да знам кое нестава на тоя ми код Very Happy
_________________
bscsystem- deviant profile - AtomSolutions
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
blue



Мнения: 4

МнениеПуснато на: Вто Апр 05, 2005 8:41    Заглавие: Отговорете с цитат

Ще пробвам и двата варианта и ще ви пиша за крайния резултат.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:   
Тази тема е заключена - не можеш да отговаряте или да променяте мнения    Groove Manifesto Форуми -> Свобода за народа Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети