0
<?php
$to       = 'mass.mari06@gmail.com';
$subject  = 'Testing sendmail.exe';
$message  = 'Hi, you just received an email using sendmail!';
$headers  = 'From: sender@gmail.com' . "\r\n" .
            'Reply-To: sender@gmail.com' . "\r\n" .
            'MIME-Version: 1.0' . "\r\n" .
            'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers))
    echo "Email sent";
else
    echo "Email sending failed";
?>

这是我的编码..但输出是消息发送失败..那我该怎么办???

4

3 回答 3

0

您需要在 localhost 上配置SMTP以发送电子邮件

转到您的 php.ini 并设置以下设置

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = mail.host.com 
 smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = postmaster@localhost

更多信息:- WAMP 使用 SMTP localhost 发送邮件

于 2014-11-10T05:24:26.417 回答
0

在 php 中发送邮件的正确方法是通过 pear 邮件扩展。 梨邮件

然后您可以按照以下步骤操作: 1)安装 pear:点击 php 文件夹中的 pear.phar 或 pear.bet

2)设置 REG.ENV,如果它不起作用,将环境变量:PHP_PEAR_PHP_BIN 更改为 %pathWherePhpIsInstalled/php.exe

3)安装邮件包

4)安装net_smtp包

示例邮件脚本:

$from = 'senderemailaddress';
$to = 'mass.mari06@gmail.com';
$subject = 'Hi,Its subject!';
$body = "Hi,\n\nHow are you?";

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

$smtp = Mail::factory('smtp', array(
    'host' => 'ssl://smtp.gmail.com',
    'port' => '465',
    'auth' => true,
    'username' => 'sender_email_addreess',
    'password' => 'pass'
));

$mail = $smtp->send($to, $headers, $body);

    if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}
?>
于 2014-11-10T05:34:49.480 回答
0

有两种发送电子邮件的方式。SMTP 或 php 邮件功能。根据您的代码,您使用的是 php 邮件功能。

区别:

SMTP 使用其他供应商的邮件传输代理 (MTA)。

php 邮件功能使用您自己的邮件传输代理 (MTA)。

邮件传输代理 (MTA) 是一种软件,例如 Linux 中的 sendmail。在 Windows 上设置 MTA 并不容易。如果你只是需要调试邮件的输出内容,我建议你使用这个工具,Test Mail Server Tool

于 2014-11-10T06:37:17.447 回答