2012-03-18 5 views
-4

친구 스크립트를 작성하려고합니다.smtp를 사용하여 친구에게 스크립트를 알려주려면 어떻게해야합니까?

스크립트는 사용자가 양식 필드에 지정한 주소로 전자 메일을 보내야합니다. 메일 본문에 현재 페이지의 링크를 포함합니다.

나는

누군가가 나를 도울 수 ... 등 스크립트와 phpmailer 같은 메일 클래스를 많이 시도 ..

그러나 그들 중 하나가 작동하는지 확인을 couldnt?

UPDATE :이 내 현재 코드가 작동

<?php 
require_once 'Mail.php'; 

$from = "[email protected]"; 

$to = $_POST["email"]; 
$subject = "Pear mail test"; 
$body = "testing pear mail. if you are reading this, it is working."; 

$host = "smtp.xxxxxx.com"; 

$username = "[email protected]"; 
$password = "xxxxx"; 

$headers = array ('From' => $from, 
    'To' => $to, 
    'Subject' => $subject); 

$smtp = Mail::factory('smtp', 
    array ('host' => $host, 
    'port' => '587', 
    'auth' => true, 
    'username' => $username, 
    'password' => $password)); 
$mail = $smtp->send($to, $headers, $body); 

if (PEAR::isError($mail)) { 
    echo("<p>" . $mail->getMessage() . "</p>"); 
} else { 
    echo("<p>Message successfully sent!</p>"); 
} 
?> 

<form action="<?php echo $PHP_SELF?>" method="post"> 
<fieldset> 
     <legend>Recomendar</legend> 
     <label for="nome">Nome</label><input name="nome" size="40" type="text" /> 
     <label for="email">E-mail:</label><input name="email" size="40" type="text" /> 
     <input type="submit" value="Enviar" /> 
</fieldset> 
</form> 

하지만 페이지 (받는 사람 오류를 반환)을로드 할 때 스크립트가 활성화되어 내가 스크립트를 만들 수있는 방법 사용자 프레스 제출하는 경우에만 실행 단추?

+0

스크립트를 실행중인 서버가 SMTP 연결을 지원하는지 확인 했습니까? mail()을 사용할 때도 같은 문제가 발생했습니다. – Kinz

+0

자신의 호스트가 메일을 허용하지 않는 경우 gmail 계정을 설정하여 애플리케이션에서 메일을 보낼 수 있습니다. – dldnh

+0

내 호스트가 smtp를 허용하고, 내 웹 사이트의 다른 메일 기능에 smtp를 사용합니다. –

답변

1

배 메일은 당신

http://pear.php.net/manual/en/package.mail.mail.factory.php

$headers = array 
    ("Subject" => $subj, 
    "To" => $to, 
    "From" => "Your Name <{$from}>", 
    "Content-Type" => "text/plain", 
    "MIME-Version" => "1.0" 
    ); 

$message = "Hello, world"; 

$smtp = Mail::factory 
    ("smtp", 
    array 
    ("host" => "???", 
     "port" => 465, 
     "auth" => true, 
     "username" => $from, 
     "password" => $pass 
    ) 
    ); 

$mail = $smtp->send($to, $headers, $message); 
+0

답변을 주셔서 감사 드리며 아무 이유없이 내 질문에 투표 한 6 명의 바보처럼 행동하지 않으 셨습니다. 감사합니다 ... –

+0

단지 도움이되지 않는 사람들을 위해 말할 수 없습니다. 나는 그것을 이해하지 못한다. – dldnh

1

에 사용할 수있는 경우 사용하기 매우 쉬운 위의 검색 상자에

PHP 메일

를 입력하십시오. 이미 게시 된 좋은 자료가 많이 있습니다 (예 : herehere). Dearnh가 말했듯이 배 메일은 훌륭합니다.

관련 문제