Как я могу настроить скрипт расскажи другу, используя SMTP? - PullRequest
0 голосов
/ 18 марта 2012

Я пытаюсь составить скрипт «Расскажи другу».

Скрипт должен отправить электронное письмо по адресу, указанному пользователем в поле формы.содержащий ссылку на текущую страницу в теле письма.

Я перепробовал множество скриптов и почтовых классов, таких как phpmailer и т. д.

Но не смог заставить ни один из них работать ...

Может ли кто-нибудь мне помочь?

ОБНОВЛЕНИЕ: это мой текущий код

<?php
require_once 'Mail.php';

$from = "xxx@xxxx.com.";

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

$host = "smtp.xxxxxx.com";

$username = "xxx@xxxx.com.";
$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>

, он работает, но скрипт активируется при загрузке страницы (возвращает ошибку получателя)Как сделать так, чтобы скрипт запускался только когда пользователь нажимает кнопку отправки?

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Попробуйте набрать

php mail

в поле поиска выше. Там уже есть много хороших вещей, например, здесь и здесь . Груша Почта хороша, как говорит dldnh.

1 голос
/ 18 марта 2012

Pear Mail довольно прост в использовании, если он вам доступен

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...