<?xml version="1.0"?>
<?xml-stylesheet
href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel rdf:about="http://pear.php.net/bugs/search.php">
    <title>PEAR Bug Search Results</title>
    <link>http://pear.php.net/bugs/search.php?cmd=display&amp;package_name%5B0%5D=Mail</link>
    <description>Search Results</description>
    <dc:language>en-us</dc:language>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <admin:generatorAgent rdf:resource="http://pear.php.net/bugs"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://pear.php.net/bug/29030" />
      <rdf:li rdf:resource="http://pear.php.net/bug/21117" />
      <rdf:li rdf:resource="http://pear.php.net/bug/21043" />
      <rdf:li rdf:resource="http://pear.php.net/bug/19628" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18766" />
      <rdf:li rdf:resource="http://pear.php.net/bug/18573" />
      <rdf:li rdf:resource="http://pear.php.net/bug/17758" />
      <rdf:li rdf:resource="http://pear.php.net/bug/13587" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12557" />
      <rdf:li rdf:resource="http://pear.php.net/bug/12478" />
      <rdf:li rdf:resource="http://pear.php.net/bug/8818" />

     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://pear.php.net/gifs/pearsmall.gif">
    <title>PEAR Bugs</title>
    <url>http://pear.php.net/gifs/pearsmall.gif</url>
    <link>http://pear.php.net/bugs</link>
  </image>

    <item rdf:about="http://pear.php.net/bug/29030">
      <title>Mail: Documentation Problem 29030 [Open] User note that is a documentation problem</title>
      <link>http://pear.php.net/bugs/29030</link>
      <content:encoded><![CDATA[<pre>Mail Documentation Problem
Reported by wormus
2025-02-19T08:21:05+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 

Manual page: package.mail.mail.factory.php
Note submitter:
&lt;a href=&quot;/user/sergiomb&quot;&gt;Sergio Basto&lt;/a&gt;&amp;nbsp;

The undocumented parameter: socket_options , let me authenticate when I got this error: \r\n authentication failure [SMTP: STARTTLS failed (code: 220, response: TLS go ahead)]\r\n\r\nI just need add : \r\n    \'auth\' =&gt; \&quot;PLAIN\&quot;,\r\n   \'socket_options\' =&gt; array(\'ssl\' =&gt; array(\'verify_peer_name\' =&gt; false)),\r\n</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Documentation Problem
Reported by wormus
2025-02-19T08:21:05+00:00
PHP: Irrelevant OS: Irrelevant Package Version: 

Manual page: package.mail.mail.factory.php
Note submitter:
&lt;a href=&quot;/user/sergiomb&quot;&gt;Sergio Basto&lt;/a&gt;&amp;nbsp;

The undocumented parameter: socket_options , let me authenticate when I got this error: \r\n authentication failure [SMTP: STARTTLS failed (code: 220, response: TLS go ahead)]\r\n\r\nI just need add : \r\n    \'auth\' =&gt; \&quot;PLAIN\&quot;,\r\n   \'socket_options\' =&gt; array(\'ssl\' =&gt; array(\'verify_peer_name\' =&gt; false)),\r\n</pre>]]></description>
      <dc:date>2025-02-19T08:21:05+00:00</dc:date>
      <dc:creator>aaron &amp;#x61;&amp;#116; wormus &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Documentation Problem</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/21117">
      <title>Mail: Bug 21117 [Open] Mitigate STRIPTLS Attack Vector</title>
      <link>http://pear.php.net/bugs/21117</link>
      <content:encoded><![CDATA[<pre>Mail Bug
Reported by noyb
2016-09-15T00:42:41+00:00
PHP: 5.6.25 OS: FreeBSD 11.0-RC2 Package Version: 1.3.0

Description:
------------
 
Please add option to specify that TLS is required so that if the server does not support STARTTLS mail client will not continue with an unsecure connection.
 
Opportunistic TLS aka STARTTLS
Weaknesses and Mitigations
https://en.wikipedia.org/wiki/Opportunistic_TLS#Weaknesses_and_mitigations
 
&quot;STRIPTLS attacks can be blocked by configuring SMTP clients to require TLS for outgoing connections (for example, the Exim Message transfer agent can require TLS via the directive &quot;hosts_require_tls&quot; [12]).&quot;
 
I've done this crudely with a few modifications to the Mail_smtp and Net_smtp classes.  But I'm sure someone who knows PEAR::Mail inside and out can do it much better.
 
Basically what I did was to add a 'require_tls' var to the Mail_smtp and Net_smtp classes.  And defaulted it to true.  Then added a test for 'require_tls' in the auth function.
 
        /* Or if TLS is required and aren't already connected over a secure
         * (SSL) socket connection. */
        if (($tls &amp;&amp; version_compare(PHP_VERSION, '5.1.0', '&gt;=')
            &amp;&amp; extension_loaded('openssl') &amp;&amp; isset($this-&gt;esmtp['STARTTLS'])
            &amp;&amp; strncasecmp($this-&gt;host, 'ssl://', 6) !== 0
           ) || $this-&gt;require_tls &amp;&amp; strncasecmp($this-&gt;host, 'ssl://', 6) !== 0
        ) {
            /* Start the TLS connection attempt. */
 
Thanks</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Bug
Reported by noyb
2016-09-15T00:42:41+00:00
PHP: 5.6.25 OS: FreeBSD 11.0-RC2 Package Version: 1.3.0

Description:
------------
 
Please add option to specify that TLS is required so that if the server does not support STARTTLS mail client will not continue with an unsecure connection.
 
Opportunistic TLS aka STARTTLS
Weaknesses and Mitigations
https://en.wikipedia.org/wiki/Opportunistic_TLS#Weaknesses_and_mitigations
 
&quot;STRIPTLS attacks can be blocked by configuring SMTP clients to require TLS for outgoing connections (for example, the Exim Message transfer agent can require TLS via the directive &quot;hosts_require_tls&quot; [12]).&quot;
 
I've done this crudely with a few modifications to the Mail_smtp and Net_smtp classes.  But I'm sure someone who knows PEAR::Mail inside and out can do it much better.
 
Basically what I did was to add a 'require_tls' var to the Mail_smtp and Net_smtp classes.  And defaulted it to true.  Then added a test for 'require_tls' in the auth function.
 
        /* Or if TLS is required and aren't already connected over a secure
         * (SSL) socket connection. */
        if (($tls &amp;&amp; version_compare(PHP_VERSION, '5.1.0', '&gt;=')
            &amp;&amp; extension_loaded('openssl') &amp;&amp; isset($this-&gt;esmtp['STARTTLS'])
            &amp;&amp; strncasecmp($this-&gt;host, 'ssl://', 6) !== 0
           ) || $this-&gt;require_tls &amp;&amp; strncasecmp($this-&gt;host, 'ssl://', 6) !== 0
        ) {
            /* Start the TLS connection attempt. */
 
Thanks</pre>]]></description>
      <dc:date>2017-05-09T18:59:42+00:00</dc:date>
      <dc:creator>JunkYardMail1 &amp;#x61;&amp;#116; Frontier &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/21043">
      <title>Mail: Feature/Change Request 21043 [Open] empty queued_as by pipelining</title>
      <link>http://pear.php.net/bugs/21043</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by degtyaryov
2016-03-22T11:12:46+00:00
PHP: Irrelevant OS: Fedora 23 Package Version: 1.3.0

Description:
------------
Hello.

I logged information sent emails including queued_as.

Using pipelining is not possible to get a list of queued_as for 
sended letters.

Mail/smtp.php:306
list(,$args) = $this-&gt;_smtp-&gt;getResponse();
if (preg_match(&quot;/Ok: queued as (.*)/&quot;, $args, $queued)) {
	$this-&gt;queued_as = $queued[1];
}

$this-&gt;queued_as already empty!

Need limit pipelining commands and parse all matches:
public function send($recipients, $headers, $body, Closure 
$callback)
{
............
if ($this-&gt;isPipelingLimit) {
  $this-&gt;_smtp-&gt;pipelining = false
}
$res = $this-&gt;_smtp-&gt;data($body, $textHeaders);
$this-&gt;_smtp-&gt;pipelining = true;
list(,$args) = $this-&gt;_smtp-&gt;getResponse();
if (preg_match_all(&quot;/Ok: queued as (.*)/&quot;, $args, $queued)) {
    foreach($queued[1] as $key =&gt; $q)
	$this-&gt;callbacks[$key]($q);
    }
}

Example using:
............
$mail_factory-&gt;send($email, $headers, $body, 
function($queued_as) use ($email) {
  syslog(LOG_INFO, &quot;$email queued as $queued_as&quot;);
});</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by degtyaryov
2016-03-22T11:12:46+00:00
PHP: Irrelevant OS: Fedora 23 Package Version: 1.3.0

Description:
------------
Hello.

I logged information sent emails including queued_as.

Using pipelining is not possible to get a list of queued_as for 
sended letters.

Mail/smtp.php:306
list(,$args) = $this-&gt;_smtp-&gt;getResponse();
if (preg_match(&quot;/Ok: queued as (.*)/&quot;, $args, $queued)) {
	$this-&gt;queued_as = $queued[1];
}

$this-&gt;queued_as already empty!

Need limit pipelining commands and parse all matches:
public function send($recipients, $headers, $body, Closure 
$callback)
{
............
if ($this-&gt;isPipelingLimit) {
  $this-&gt;_smtp-&gt;pipelining = false
}
$res = $this-&gt;_smtp-&gt;data($body, $textHeaders);
$this-&gt;_smtp-&gt;pipelining = true;
list(,$args) = $this-&gt;_smtp-&gt;getResponse();
if (preg_match_all(&quot;/Ok: queued as (.*)/&quot;, $args, $queued)) {
    foreach($queued[1] as $key =&gt; $q)
	$this-&gt;callbacks[$key]($q);
    }
}

Example using:
............
$mail_factory-&gt;send($email, $headers, $body, 
function($queued_as) use ($email) {
  syslog(LOG_INFO, &quot;$email queued as $queued_as&quot;);
});</pre>]]></description>
      <dc:date>2016-03-22T11:12:46+00:00</dc:date>
      <dc:creator>degtyaryov &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/19628">
      <title>Mail: Feature/Change Request 19628 [Open] DKIM Signing No Work</title>
      <link>http://pear.php.net/bugs/19628</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by scottschmitz
2012-10-01T20:10:19+00:00
PHP: Irrelevant OS: Linux Package Version: 1.2.0

Description:
------------
I send a message using SMTP Pear Mail to my Gmail email 
address.  I have turned on the DKIM Signing option in my 
CPanel.

I get an error in the headers of my GMail message:



Delivered-To: sschmitz99@gmail.com
Received: by 10.220.48.85 with SMTP id q21csp52374vcf;
        Mon, 1 Oct 2012 07:50:06 -0700 (PDT)
Received: by 10.224.203.193 with SMTP id 
fj1mr37404599qab.13.1349103004503;
        Mon, 01 Oct 2012 07:50:04 -0700 (PDT)
Return-Path: &lt;administrator@scottschmitz.com&gt;
Received: from server.realtyjuggler.com 
(server.realtyjuggler.com. [199.230.52.14])
        by mx.google.com with ESMTPS id 
hp7si2609423qab.116.2012.10.01.07.50.03
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 01 Oct 2012 07:50:04 -0700 (PDT)
Received-SPF: pass (google.com: domain of 
administrator@scottschmitz.com designates 199.230.52.14 as 
permitted sender) client-ip=199.230.52.14;
Authentication-Results: mx.google.com; spf=pass (google.com: 
domain of administrator@scottschmitz.com designates 
199.230.52.14 as permitted sender) 
smtp.mail=administrator@scottschmitz.com; dkim=hardfail 
header.i=@scottschmitz.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; 
c=relaxed/relaxed; d=scottschmitz.com; s=default;
	h=Content-Type:Message-Id:MIME-
Version:Date:Subject:To:From; 
bh=ir+2fndDBR2VGsqqwOL8N9Lry+da7RSB/GATx9/cV+U=;
	b=vl8DohJm7wVPKDzmbv+a4wr4+HA2IGbS4skiT7OKpvXS
Gqc8xQbgE1lqYi5mcQ52DJc5OBe3A667XB1DIxmpLCONpnusoZM
kEEQX4+CcJpptHv2keyfljIiBvRNrPOIM;
Received: from [199.230.52.15] (port=37657 helo=localhost)
	by server.realtyjuggler.com with esmtpsa (TLSv1:AES256-
SHA:256)
	(Exim 4.77)
	(envelope-from &lt;administrator@scottschmitz.com&gt;)
	id 1TIhJq-0002YJ-JU
	for sschmitz99@gmail.com; Mon, 01 Oct 2012 10:50:02 
-0400
From: &quot;RealtyJuggler Administrator&quot; 
&lt;administrator@scottschmitz.com&gt;
To: &quot;Scott Schmitz&quot; &lt;sschmitz99@gmail.com&gt;
Subject: Welcome to RealtyJuggler Desktop 90 day FREE Trial
Date: Mon, 01 Oct 2012 10:50:01 -0400
MIME-Version: 1.0
X-Sender: administrator@scottschmitz.com
Message-Id: 
&lt;5069ad9c.47dae00a.2fd1.5ee7SMTPIN_ADDED@mx.google.co
m&gt;
X-Mailer: RJ SMTP
Content-Type: multipart/alternative; 
boundary=&quot;RJ_40b6a5e411d432cbe3ad500484fa2f6a_alt&quot;
X-AntiAbuse: This header was added to track abuse, please 
include it with any abuse report
X-AntiAbuse: Primary Hostname - server.realtyjuggler.com
X-AntiAbuse: Original Domain - gmail.com
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - scottschmitz.com


Expected result:
----------------
I would expect that GMail would say Pass when I send a DKIM 
signed email.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by scottschmitz
2012-10-01T20:10:19+00:00
PHP: Irrelevant OS: Linux Package Version: 1.2.0

Description:
------------
I send a message using SMTP Pear Mail to my Gmail email 
address.  I have turned on the DKIM Signing option in my 
CPanel.

I get an error in the headers of my GMail message:



Delivered-To: sschmitz99@gmail.com
Received: by 10.220.48.85 with SMTP id q21csp52374vcf;
        Mon, 1 Oct 2012 07:50:06 -0700 (PDT)
Received: by 10.224.203.193 with SMTP id 
fj1mr37404599qab.13.1349103004503;
        Mon, 01 Oct 2012 07:50:04 -0700 (PDT)
Return-Path: &lt;administrator@scottschmitz.com&gt;
Received: from server.realtyjuggler.com 
(server.realtyjuggler.com. [199.230.52.14])
        by mx.google.com with ESMTPS id 
hp7si2609423qab.116.2012.10.01.07.50.03
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 01 Oct 2012 07:50:04 -0700 (PDT)
Received-SPF: pass (google.com: domain of 
administrator@scottschmitz.com designates 199.230.52.14 as 
permitted sender) client-ip=199.230.52.14;
Authentication-Results: mx.google.com; spf=pass (google.com: 
domain of administrator@scottschmitz.com designates 
199.230.52.14 as permitted sender) 
smtp.mail=administrator@scottschmitz.com; dkim=hardfail 
header.i=@scottschmitz.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; 
c=relaxed/relaxed; d=scottschmitz.com; s=default;
	h=Content-Type:Message-Id:MIME-
Version:Date:Subject:To:From; 
bh=ir+2fndDBR2VGsqqwOL8N9Lry+da7RSB/GATx9/cV+U=;
	b=vl8DohJm7wVPKDzmbv+a4wr4+HA2IGbS4skiT7OKpvXS
Gqc8xQbgE1lqYi5mcQ52DJc5OBe3A667XB1DIxmpLCONpnusoZM
kEEQX4+CcJpptHv2keyfljIiBvRNrPOIM;
Received: from [199.230.52.15] (port=37657 helo=localhost)
	by server.realtyjuggler.com with esmtpsa (TLSv1:AES256-
SHA:256)
	(Exim 4.77)
	(envelope-from &lt;administrator@scottschmitz.com&gt;)
	id 1TIhJq-0002YJ-JU
	for sschmitz99@gmail.com; Mon, 01 Oct 2012 10:50:02 
-0400
From: &quot;RealtyJuggler Administrator&quot; 
&lt;administrator@scottschmitz.com&gt;
To: &quot;Scott Schmitz&quot; &lt;sschmitz99@gmail.com&gt;
Subject: Welcome to RealtyJuggler Desktop 90 day FREE Trial
Date: Mon, 01 Oct 2012 10:50:01 -0400
MIME-Version: 1.0
X-Sender: administrator@scottschmitz.com
Message-Id: 
&lt;5069ad9c.47dae00a.2fd1.5ee7SMTPIN_ADDED@mx.google.co
m&gt;
X-Mailer: RJ SMTP
Content-Type: multipart/alternative; 
boundary=&quot;RJ_40b6a5e411d432cbe3ad500484fa2f6a_alt&quot;
X-AntiAbuse: This header was added to track abuse, please 
include it with any abuse report
X-AntiAbuse: Primary Hostname - server.realtyjuggler.com
X-AntiAbuse: Original Domain - gmail.com
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - scottschmitz.com


Expected result:
----------------
I would expect that GMail would say Pass when I send a DKIM 
signed email.</pre>]]></description>
      <dc:date>2023-08-08T22:29:49+00:00</dc:date>
      <dc:creator>scott &amp;#x61;&amp;#116; realorganized &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18766">
      <title>Mail: Feature/Change Request 18766 [Open] SMTP error code is not available to user of smtp</title>
      <link>http://pear.php.net/bugs/18766</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by alan_k
2011-08-29T11:23:35+00:00
PHP: 5.3.8 OS: all Package Version: SVN

Description:
------------
need to get the real smtp error code back from mail. however currently it's only feasible 
by parsing the error text.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by alan_k
2011-08-29T11:23:35+00:00
PHP: 5.3.8 OS: all Package Version: SVN

Description:
------------
need to get the real smtp error code back from mail. however currently it's only feasible 
by parsing the error text.</pre>]]></description>
      <dc:date>2011-08-29T11:23:35+00:00</dc:date>
      <dc:creator>alan &amp;#x61;&amp;#116; akbkhome &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/18573">
      <title>Mail: Feature/Change Request 18573 [Open] MAIL FROM and From: can't be different?</title>
      <link>http://pear.php.net/bugs/18573</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by danielh
2011-05-31T06:29:20+00:00
PHP: 5.3.6 OS: windows 8 Package Version: 1.2.0

Description:
------------
I am using PEAR with PHP to send email. I send it through my ISP's SMTP gateway. My ISP's SMTP gateway will only process outgoing email when the MAIL FROM message lists my email address (on this ISP).  

IOW: if I specify an address, in the From: header, other than the one supported by my ISP I get (using debug):

DEBUG: Send: MAIL FROM:&lt;altname@myaddress.com&gt;

DEBUG: Recv: 250 2.1.0 Ok
DEBUG: Send: RCPT TO:&lt;toyou@somewhere.net&gt;

DEBUG: Recv: 554 5.7.1 &lt;altname@myaddress.com&gt;: Sender address rejected: Access denied
DEBUG: Send: RSET

The issue is that I would like to list a From: header that is different from this email address (that is NOT the same as the email address supported by my ISP).  Usin a script, I have successfully done this: by specifying a MAIL FROM message to the SMTP server, and then by specifying the alternative email address in the From: header:  the MAIL FROM is used by my ISP to authenticate, while the From: header is displayed in the recipients &quot;from&quot; field.

Unfortunately, pear email doesn't seem to permit this -- it uses the From: header to specify the MAIL FROM message.
And there doesn't seem to be any way to override this default behavior. I tried Reply-To, but that  yields the access denied message (that is, it changes both the From: header and the MAIL FROM message.

Is this a &quot;feature&quot; of PEAR email?

Thanks.

Test script:
---------------
I can gin something up if need be.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by danielh
2011-05-31T06:29:20+00:00
PHP: 5.3.6 OS: windows 8 Package Version: 1.2.0

Description:
------------
I am using PEAR with PHP to send email. I send it through my ISP's SMTP gateway. My ISP's SMTP gateway will only process outgoing email when the MAIL FROM message lists my email address (on this ISP).  

IOW: if I specify an address, in the From: header, other than the one supported by my ISP I get (using debug):

DEBUG: Send: MAIL FROM:&lt;altname@myaddress.com&gt;

DEBUG: Recv: 250 2.1.0 Ok
DEBUG: Send: RCPT TO:&lt;toyou@somewhere.net&gt;

DEBUG: Recv: 554 5.7.1 &lt;altname@myaddress.com&gt;: Sender address rejected: Access denied
DEBUG: Send: RSET

The issue is that I would like to list a From: header that is different from this email address (that is NOT the same as the email address supported by my ISP).  Usin a script, I have successfully done this: by specifying a MAIL FROM message to the SMTP server, and then by specifying the alternative email address in the From: header:  the MAIL FROM is used by my ISP to authenticate, while the From: header is displayed in the recipients &quot;from&quot; field.

Unfortunately, pear email doesn't seem to permit this -- it uses the From: header to specify the MAIL FROM message.
And there doesn't seem to be any way to override this default behavior. I tried Reply-To, but that  yields the access denied message (that is, it changes both the From: header and the MAIL FROM message.

Is this a &quot;feature&quot; of PEAR email?

Thanks.

Test script:
---------------
I can gin something up if need be.</pre>]]></description>
      <dc:date>2017-04-11T17:17:56+00:00</dc:date>
      <dc:creator>danielh &amp;#x61;&amp;#116; crosslink &amp;#x64;&amp;#111;&amp;#x74; net</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/17758">
      <title>Mail: Bug 17758 [Open] smtpmx driver not work for windows.</title>
      <link>http://pear.php.net/bugs/17758</link>
      <content:encoded><![CDATA[<pre>Mail Bug
Reported by chiether
2010-08-20T06:10:52+00:00
PHP: Irrelevant OS: Windows Package Version: 1.2.0

Description:
------------
smtpmx cannot nameservers overwrite.
smtpmx failed by Windows because no have &quot;resolv.conf&quot;.

we can retry with overwrite when after failed(instanced $resolver). but I think need &quot;nameservers&quot; on mail_option.

# maybe Net_DNS resolver can overwrite nameservers. see Net_DNS example code.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Bug
Reported by chiether
2010-08-20T06:10:52+00:00
PHP: Irrelevant OS: Windows Package Version: 1.2.0

Description:
------------
smtpmx cannot nameservers overwrite.
smtpmx failed by Windows because no have &quot;resolv.conf&quot;.

we can retry with overwrite when after failed(instanced $resolver). but I think need &quot;nameservers&quot; on mail_option.

# maybe Net_DNS resolver can overwrite nameservers. see Net_DNS example code.</pre>]]></description>
      <dc:date>2017-04-11T17:20:18+00:00</dc:date>
      <dc:creator>n-ishii &amp;#x61;&amp;#116; chiether &amp;#x64;&amp;#111;&amp;#x74; net</dc:creator>
      <dc:subject>Mail Bug</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/13587">
      <title>Mail: Feature/Change Request 13587 [Open] relay params like &quot;NOTIFY=SUCCESS,FAILURE&quot;</title>
      <link>http://pear.php.net/bugs/13587</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by alex2000
2008-04-04T11:31:35+00:00
PHP: 5.2.0 OS: SuSe 10.2 Package Version: 1.1.14

Description:
------------
Here:

http://pear.php.net/package/Mail/docs/1.1.14/__filesource/fsource_Mail__Mail-1.1.14Mailsmtp.php.html , line 204 anybody have to place 4th parameter like $params and at the line 282 instead $this-&gt;_smtp-&gt;rcptTo($recipient) have to write $this-&gt;_smtp-&gt;rcptTo($recipient, $params) or somethins like that.

Because I need this optional notify - flags and have to change it each time manually :(

Can anybody do it for the next relase - or maybe another solution /way for the same problem.

Thanks.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by alex2000
2008-04-04T11:31:35+00:00
PHP: 5.2.0 OS: SuSe 10.2 Package Version: 1.1.14

Description:
------------
Here:

http://pear.php.net/package/Mail/docs/1.1.14/__filesource/fsource_Mail__Mail-1.1.14Mailsmtp.php.html , line 204 anybody have to place 4th parameter like $params and at the line 282 instead $this-&gt;_smtp-&gt;rcptTo($recipient) have to write $this-&gt;_smtp-&gt;rcptTo($recipient, $params) or somethins like that.

Because I need this optional notify - flags and have to change it each time manually :(

Can anybody do it for the next relase - or maybe another solution /way for the same problem.

Thanks.</pre>]]></description>
      <dc:date>2008-04-06T07:19:21+00:00</dc:date>
      <dc:creator>positron &amp;#x61;&amp;#116; gmx &amp;#x64;&amp;#111;&amp;#x74; ch</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12557">
      <title>Mail: Feature/Change Request 12557 [Open] Use mb_send_mail() if available</title>
      <link>http://pear.php.net/bugs/12557</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by derernst
2007-11-30T11:04:50+00:00
PHP: 5.2.2 OS:  Package Version: 1.1.14

Description:
------------
In multilanguage environments working with the mbstring extension is very handy. Anyway, on shared hosting, function overloading is often not available, as mbstring.func_overload   cannot be set at runtime but only at system level. In these cases, the Mail classes use the mail() function, though mb_send_mail() would actually be available. 

I think it would be nice to introduce an option to use mb_send_mail() where it is available.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by derernst
2007-11-30T11:04:50+00:00
PHP: 5.2.2 OS:  Package Version: 1.1.14

Description:
------------
In multilanguage environments working with the mbstring extension is very handy. Anyway, on shared hosting, function overloading is often not available, as mbstring.func_overload   cannot be set at runtime but only at system level. In these cases, the Mail classes use the mail() function, though mb_send_mail() would actually be available. 

I think it would be nice to introduce an option to use mb_send_mail() where it is available.</pre>]]></description>
      <dc:date>2010-03-08T16:21:52+00:00</dc:date>
      <dc:creator>derernst &amp;#x61;&amp;#116; gmx &amp;#x64;&amp;#111;&amp;#x74; ch</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/12478">
      <title>Mail: Feature/Change Request 12478 [Open] hide PHP warnings, raised from PHP functions used in the class</title>
      <link>http://pear.php.net/bugs/12478</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by cwiedmann
2007-11-19T00:48:42+00:00
PHP: Irrelevant OS: Windows_NT Package Version: CVS

Description:
------------
Hello,

Mail_smtp:
For example, if you use mail() on Windows, and the mailserver is down, mail() returns false, and the class returns a PEAR::Error Object. But PHP also outputs a &quot;Warning&quot; with a failure description.

It would be nice, to not see this &quot;Warning&quot;. Instead having the description in PEAR::Error-&gt;getUserInfo() / getDebugInfo().

That's my most important issue. For example in Mail_smtp you also hide the error in popen.

Mail_smtp:
It would be nice, if this class returns only a PEAR::Error and no PHP warning if Net/SMTP.php is not installed. Like it happend, if the Net_SMTP instance can not be created.

Mail_smtpmx:
It would be nice, if this class returns only a PEAR::Error and no PHP warning if Net/DNS is not installed.

Mail_sendmail:
IMHO the default args should be &quot;-t -i&quot;. And not only &quot;-i&quot;.

I have attached a patch, which fix this issues for me.

Regards,
Carsten</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by cwiedmann
2007-11-19T00:48:42+00:00
PHP: Irrelevant OS: Windows_NT Package Version: CVS

Description:
------------
Hello,

Mail_smtp:
For example, if you use mail() on Windows, and the mailserver is down, mail() returns false, and the class returns a PEAR::Error Object. But PHP also outputs a &quot;Warning&quot; with a failure description.

It would be nice, to not see this &quot;Warning&quot;. Instead having the description in PEAR::Error-&gt;getUserInfo() / getDebugInfo().

That's my most important issue. For example in Mail_smtp you also hide the error in popen.

Mail_smtp:
It would be nice, if this class returns only a PEAR::Error and no PHP warning if Net/SMTP.php is not installed. Like it happend, if the Net_SMTP instance can not be created.

Mail_smtpmx:
It would be nice, if this class returns only a PEAR::Error and no PHP warning if Net/DNS is not installed.

Mail_sendmail:
IMHO the default args should be &quot;-t -i&quot;. And not only &quot;-i&quot;.

I have attached a patch, which fix this issues for me.

Regards,
Carsten</pre>]]></description>
      <dc:date>2007-11-19T00:48:42+00:00</dc:date>
      <dc:creator>carsten_sttgt &amp;#x61;&amp;#116; gmx &amp;#x64;&amp;#111;&amp;#x74; de</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/8818">
      <title>Mail: Feature/Change Request 8818 [Open] Request Option to suppress email address validation (allow RFC OK fringe cases)</title>
      <link>http://pear.php.net/bugs/8818</link>
      <content:encoded><![CDATA[<pre>Mail Feature/Change Request
Reported by scottprive@...
2006-09-29T22:00:19+00:00
PHP: 5.1.4 OS: Linux Fedora Package Version: 1.1.13

Description:
------------
Requestion an option to completely suppress email address validation. The validation has its uses, but gets in the way of server testing. Two use cases:

1) Server testing (spam relay tests, destructive string tests, etc)

2) Current validation is simple and restrictive, blocking special characters even if they are used in a RFC 3696 valid context:
`domain literals'
&quot;someone@example.com&quot;
possibly others.

I have attempted to disable the raising of RFC822.php errors in Mail.php but have failed (I have begun studying the OO code, but my background is 'function-based' PHP).
 

Test script:
---------------
&lt;?
    require 'Mail.php';
    $to = &quot;\&quot;user name@example.com\&quot;&quot;; #rfc 3696 valid

    $headers['from'] = 'do-not-reply@example.com';
    $headers['subject'] = &quot;email testing &quot;;
    $headers['to'] = $to;
    $headers['Date'] = date('r');


    $params = array(
        &quot;host&quot;      =&gt; 'mail.example.com',
        'port'      =&gt; 25,
        'localhost' =&gt; 'test.example.com',
        'timeout'   =&gt; 240,
        'debug'     =&gt; TRUE,
        'persist'   =&gt; FALSE,
    );


    $body = &quot;
This is a test, which fails on Mail address validtion. &quot;;

    $message =&amp; Mail::factory('smtp',$params);
    $emailresult = $message-&gt;send($to, $headers, $body);
    print &quot;\n RESULT CODE looks like: $emailresult\n&quot;;
    print &quot;\n RESULT OBJECT looks like:&quot;;
    print_r($emailresult);
?&gt;


Expected result:
----------------
The contents of $to become (IN-cluding quotes):
&quot;user name@example.com&quot;

Personally I don't advise or support users with such gray area usernames. The purpose in feeding the RCPT TO with unusual data is to test the target mailserver to see if it is an &quot;open relay&quot;. While the simplest test is to use mailbox@not-your-domain.com, there are another 15-20 testcases using quotes and escaping in an attempt to trick the SMTP server in accepting the email.

Mail.php seems very suited (and more) for such an exercise.



Actual result:
--------------
 RESULT OBJECT looks like:PEAR_Error Object
(
    [error_message_prefix] =&gt;
    [mode] =&gt; 1
    [level] =&gt; 1024
    [code] =&gt;
    [message] =&gt; Validation failed for: &quot;user name@example.com&quot;
    [userinfo] =&gt;
    [backtrace] =&gt; Array
        (
            [0] =&gt; Array
                (
                    [file] =&gt; /usr/share/pear/PEAR.php
                    [line] =&gt; 566
                    [function] =&gt; PEAR_Error
                    [class] =&gt; PEAR_Error
                    [object] =&gt; PEAR_Error Object
 *RECURSION*
                    [type] =&gt; -&gt;
                    [args] =&gt; Array
                        (
                            [0] =&gt; Validation failed for: &quot;user name@example.com&quot;
                            [1] =&gt;
                            [2] =&gt; 1
                            [3] =&gt; 1024
                            [4] =&gt;
                        )

                )

            [1] =&gt; Array
                (
                    [file] =&gt; /usr/share/pear/Mail/RFC822.php
                    [line] =&gt; 198
                    [function] =&gt; raiseError
                    [class] =&gt; PEAR
                    [object] =&gt; Mail_RFC822 Object
                        (
                            [address] =&gt;
                            [default_domain] =&gt; localhost
                            [nestGroups] =&gt;
                            [validate] =&gt; 1
                            [addresses] =&gt; Array
                                (
                                    [0] =&gt; Array
                                        (
                                            [address] =&gt; &quot;user name@example.com&quot;
                                            [group] =&gt;
                                        )

                                )
...</pre>]]></content:encoded>
      <description><![CDATA[<pre>Mail Feature/Change Request
Reported by scottprive@...
2006-09-29T22:00:19+00:00
PHP: 5.1.4 OS: Linux Fedora Package Version: 1.1.13

Description:
------------
Requestion an option to completely suppress email address validation. The validation has its uses, but gets in the way of server testing. Two use cases:

1) Server testing (spam relay tests, destructive string tests, etc)

2) Current validation is simple and restrictive, blocking special characters even if they are used in a RFC 3696 valid context:
`domain literals'
&quot;someone@example.com&quot;
possibly others.

I have attempted to disable the raising of RFC822.php errors in Mail.php but have failed (I have begun studying the OO code, but my background is 'function-based' PHP).
 

Test script:
---------------
&lt;?
    require 'Mail.php';
    $to = &quot;\&quot;user name@example.com\&quot;&quot;; #rfc 3696 valid

    $headers['from'] = 'do-not-reply@example.com';
    $headers['subject'] = &quot;email testing &quot;;
    $headers['to'] = $to;
    $headers['Date'] = date('r');


    $params = array(
        &quot;host&quot;      =&gt; 'mail.example.com',
        'port'      =&gt; 25,
        'localhost' =&gt; 'test.example.com',
        'timeout'   =&gt; 240,
        'debug'     =&gt; TRUE,
        'persist'   =&gt; FALSE,
    );


    $body = &quot;
This is a test, which fails on Mail address validtion. &quot;;

    $message =&amp; Mail::factory('smtp',$params);
    $emailresult = $message-&gt;send($to, $headers, $body);
    print &quot;\n RESULT CODE looks like: $emailresult\n&quot;;
    print &quot;\n RESULT OBJECT looks like:&quot;;
    print_r($emailresult);
?&gt;


Expected result:
----------------
The contents of $to become (IN-cluding quotes):
&quot;user name@example.com&quot;

Personally I don't advise or support users with such gray area usernames. The purpose in feeding the RCPT TO with unusual data is to test the target mailserver to see if it is an &quot;open relay&quot;. While the simplest test is to use mailbox@not-your-domain.com, there are another 15-20 testcases using quotes and escaping in an attempt to trick the SMTP server in accepting the email.

Mail.php seems very suited (and more) for such an exercise.



Actual result:
--------------
 RESULT OBJECT looks like:PEAR_Error Object
(
    [error_message_prefix] =&gt;
    [mode] =&gt; 1
    [level] =&gt; 1024
    [code] =&gt;
    [message] =&gt; Validation failed for: &quot;user name@example.com&quot;
    [userinfo] =&gt;
    [backtrace] =&gt; Array
        (
            [0] =&gt; Array
                (
                    [file] =&gt; /usr/share/pear/PEAR.php
                    [line] =&gt; 566
                    [function] =&gt; PEAR_Error
                    [class] =&gt; PEAR_Error
                    [object] =&gt; PEAR_Error Object
 *RECURSION*
                    [type] =&gt; -&gt;
                    [args] =&gt; Array
                        (
                            [0] =&gt; Validation failed for: &quot;user name@example.com&quot;
                            [1] =&gt;
                            [2] =&gt; 1
                            [3] =&gt; 1024
                            [4] =&gt;
                        )

                )

            [1] =&gt; Array
                (
                    [file] =&gt; /usr/share/pear/Mail/RFC822.php
                    [line] =&gt; 198
                    [function] =&gt; raiseError
                    [class] =&gt; PEAR
                    [object] =&gt; Mail_RFC822 Object
                        (
                            [address] =&gt;
                            [default_domain] =&gt; localhost
                            [nestGroups] =&gt;
                            [validate] =&gt; 1
                            [addresses] =&gt; Array
                                (
                                    [0] =&gt; Array
                                        (
                                            [address] =&gt; &quot;user name@example.com&quot;
                                            [group] =&gt;
                                        )

                                )
...</pre>]]></description>
      <dc:date>2011-01-17T15:58:37+00:00</dc:date>
      <dc:creator>scottprive &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Mail Feature/Change Request</dc:subject>
    </item>
</rdf:RDF>
