【问题标题】:Add $_POST['url'] to body of email Pear package?将 $_POST['url'] 添加到电子邮件 Pear 包的正文?
【发布时间】:2016-06-05 15:14:42
【问题描述】:

我需要我的 php 脚本通过电子邮件向我发送一些解析到它的变量。

通过任何文本时,我都能正确收到电子邮件:

mypage.php?url=hello

但是如果传递了 url,我不会收到邮件:

mypage.php?url=http://www.google.com

我搜索了几个小时,但没有找到任何方法。

这是 php 脚本:

<?php
// Pear Mail Library
require_once "Mail.php";


$name = $_POST['name'];
$url = $_POST['url'];



$from = '<noreply@website.com>';
$to = '<me@gmail.com>';
$subject = 'Hi!';
$body = '


Name: '.$name.'
The url is: '.$url.'


';

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



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


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

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

?>

解析实际网址时,我没有收到电子邮件,但也没有显示错误。

【问题讨论】:

  • 在 URL 周围尝试 php 中的 addslashes 函数。也许 PEAR 有逃避它的问题。
  • 将 url 存储在变量中,然后在 url 中赋值
  • @Xorifelse 工作就像一个魅力!非常感谢:)
  • 另外,开发时开启报错功能也不错。

标签: php email pear


【解决方案1】:

正如@Xorifelse 所说,我使用了addlashes 函数并且它有效。我正确地收到了包含 url 的电子邮件。

下面是工作脚本:

<?php
// Pear Mail Library
require_once "Mail.php";


$name = $_POST['name'];
$url = $_POST['url'];



$from = '<noreply@website.com>';
$to = '<me@gmail.com>';
$subject = 'Hi!';
$body = '


Name: '.addslashes($name).'
The url is: '.addslashes($url).'


';

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



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


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

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

?>

【讨论】:

  • 只是说,这是一个疯狂的猜测。我个人使用PHPMailer,从来没有遇到过问题。
  • 也许我将来会转向 PHPMailer。梨邮件包是预先安装的,所以我用了这个。
猜你喜欢
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
相关资源
最近更新 更多