使用PHP通过邮件中继发送邮件

时间:2011-04-15 07:10:24

标签: php sendmail

使用mail()时遇到了小问题。我无法发送到我托管表单的域名地址。我理解这是出于安全原因,但它使得“发送给朋友”系统的创建有点困难。

这是我的工作(尽管它只发送到我的地址):

<?php

$senderName = $_POST['name'];
$friendsEmail = $_POST['friendsEmail'];

if ($_POST['formName'] == 'refer') {    
    $to = $friendsEmail;
    $subject = "$senderName has referred you";
    $message = "Message goes here";
    $headers = "MIME-Version: 1.0\r\n";
    $headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers .= 'From: Me <no-reply@test.com>' . "\r\n";
    mail($to,$subject,$message,$headers);
}

header("Location: referConfirm.html");
?>

我和设置邮件转发的托管公司谈过了(耶!)。麻烦的是,我不知道如何通过邮件中继得到我上面的工作。我有以下详细信息:

IP:000.000.000.000 域名:domain.company.com UN:用户名 PW:密码

(细节是假的。)

有人能给我一些线索吗?

谢谢, @rrfive

1 个答案:

答案 0 :(得分:3)

mail()使用php.ini中的smtp / sendmail设置。如果你需要通过另一个smtp发送它,或者需要通过身份验证发送它(就像在你的例子中一样)邮件是不够的。

那里有很好的邮件库,仅举几例:

他们都能够通过经过身份验证的smtp服务器发送电子邮件。