2013-04-04 3 views
1

나는 php를 사용하여 문의 양식을 만들려고합니다. 보내기를 클릭하면 이메일이 전송 된 것처럼 보이지만 수신자는 수신하지 못합니다. 어쩌면 내가 SMTP 서버를 설정해야하지만이 작업을 수행하는 방법을 잘 모르겠습니다. 내가 mail.php 파일에php 문의 양식을 사용하여 이메일 보내기

<form action="mail.php" method="POST"> 
<p>Name</p> <input type="text" name="name"> 
<p>Email</p> <input type="text" name="email"> 
<p>Phone</p> <input type="text" name="phone"> 

<p>Request Phone Call:</p> 
Yes:<input type="checkbox" value="Yes" name="call"><br /> 
No:<input type="checkbox" value="No" name="call"><br /> 

<p>Website</p> <input type="text" name="website"> 

<p>Priority</p> 
<select name="priority" size="1"> 
<option value="Low">Low</option> 
<option value="Normal">Normal</option> 
<option value="High">High</option> 
<option value="Emergency">Emergency</option> 
</select> 
<br /> 

<p>Type</p> 
<select name="type" size="1"> 
<option value="update">Website Update</option> 
<option value="change">Information Change</option> 
<option value="addition">Information Addition</option> 
<option value="new">New Products</option> 
</select> 
<br /> 

<p>Message</p><textarea name="message" rows="6" cols="25"></textarea><br /> 
<input type="submit" value="Send"><input type="reset" value="Clear"> 
</form> 

이있는 form.html에서 미리

에 감사합니다 난 당신이 단순히에 접미사를 설치할 수 있습니다 일할 수있는 mail() 함수의

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$call = $_POST['call']; 
$website = $_POST['website']; 
$priority = $_POST['priority']; 
$type = $_POST['type']; 
$message = $_POST['message']; 
$formcontent=" From: $name \n Phone: $phone \n Call Back: $call \n Website: $website \n  Priority: $priority \n Type: $type \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
$mailheader = "From: $email \r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
echo "Thank You!" . " -" . "<a href='form.html' style='text- decoration:none;color:#ff0099;'> Return Home</a>"; 
?> 
+0

당신이 1 게시 할 수있는) 당신의 PHP 메일 구성 :

sudo apt-get install pear sudo pear install mail 

설치는 메일 사용을 보내 몇 가지 다른 패키지가 같은 way.To에서 그들을 too.Install 추천합니다 http://www.php.net/manual/en/mail.configuration.php) 2) 메일/MTA 서버에서 생성 한 로그 항목? – AnFi

답변

1

는이 당신의 서버에서 다음 명령을 실행하십시오.

sudo apt-get install postfix 
0

pear pac 케이지. ([php.ini 파일에

public function sendMail($to) 
    { 
    require_once('Mail.php'); 
    $this->_to=$to; 
    $host = "ssl://smtp.gmail.com"; 
    $port = "465"; 
    $headers = array ('From' => $this->_from, 
        'To' => $this->_to, 
        'Subject' => $this->_subject); 
    $smtp = Mail::factory('smtp', 
          array ('host' => $host, 
           'port' => $port, 
           'auth' => true, 
           'username' => $this->_username, 
           'password' => $this->_password)); 
    $mail = $smtp->send($this->_to, $headers, $this->_body); 
}