php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #15536 Warning message generated on displaying a mail without a TO address
Submitted: 2002-02-13 05:55 UTC Modified: 2002-02-20 19:39 UTC
From: vikas at indiamart dot com Assigned:
Status: Not a bug Package: IMAP related
PHP Version: 4.1.0 OS: Sun Solaris
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: vikas at indiamart dot com
New email:
PHP Version: OS:

 

 [2002-02-13 05:55 UTC] vikas at indiamart dot com
Hi,

I am using web-based interface to display mails using IMAP
The module calls the function "imap_header" for each mail and then displays output in required format.

But for few mails, which were sent without a TO address, and has only BCC address (can be done using Eudora), the interface shows the following warning

##################
Warning: Unterminated mailbox: Undisclosed-Recipient@ho.trivenigroup.com (errflg=3) in Unknown on line 0

Warning: Unexpected characters at end of address: :;@vd1.vsnl.net.in;> (errflg=3) in Unknown on line 0
#####################


The mail that caused this, has the following headers
##################
Reply-To: "Pramoda Kumar Rai" <pramod@texporttechnologies.com>
From: "Pramoda Kumar Rai" <pramod@texporttechnologies.com>
To: <Undisclosed-Recipient:;@vd1.vsnl.net.in;>
Subject: Fw: McAfee Newsletter
Date: Sat, 2 Feb 2002 22:17:37 +0530
Organization: Texport Technoligies Pvt. Ltd.
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400                       
#################

I found the similar error at many places but no solutions.
Is there any solution to atleast prevent the warning from being displayed..


Thanks
Vikas Aggarwal


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-02-13 07:17 UTC] mfischer@php.net
Prefix the function in question with a '@', e.g. @imap_header() .
 [2002-02-13 13:10 UTC] vikas at indiamart dot com
Hi,

I am already using the function as

##############
for ($i = $begin, $j = $beginIndex; $i <= $end; $i++, $j++) {
$msgnum = $sorted[$i-1];
$h = @imap_header($imp->stream, imap_msgno($imp->stream, $msgnum));
... and further
}
##############

But for a mail message that is sent without any TO and only BCC, the function returns a warning (as already shown in the message placed initially) because such mails have TO field as
To: <Undisclosed-Recipient:;@vd1.vsnl.net.in;>

And the function is not able to handle it.
Please suggest what to do to overcome this.

To get this error, jsut send a mail to some account with email-address in BCC field only and then see mails using some IMAP web interface.

Thanks
Vikas Aggarwal


 [2002-02-13 17:34 UTC] mfischer@php.net
Achso, ic. Well, this comes from the imap library itself, there's nothing you can do about; complain to the imap developers. You can, however, patch around it yourself if you're feeling brave (and know what you're doing).
 [2002-02-13 18:36 UTC] vikas at indiamart dot com
Then can you please tell me how to do the required settings to compress any warning from getting displayed.

For your reference, in the horde-imp script, i had already tried by making changes as below. But can i do that somehow by some server settings..!!

1. In the file /lib/imp.lib
var $error_level = E_ALL
changed to
var $error_level = 0;    

2. In the /config/defaults.php3.dist
$default->error_level = E_ALL;
changed to
$default->error_level = 0;
 [2002-02-18 03:29 UTC] vikas at indiamart dot com
Should i expect any feedback from you now ..
I had crosschecked everything with IMAP guys and here is what they said in reply to my questions..

##################
> There is a bug (seems to be) in one of the function's library.
> The function is "imap_header".
There is no such function in the c-client library.  That must be a PHP function.
I don't know if PHP is calling any c-client imap_???() functions directly, but if it is, then it is very broken.  All c-client imap_???() functions are internal to c-client and must not be calle dexternally.


> Otherwise, is there any work around to atleast stop warning to appear!!
It all depends upon what is displaying those warnings.
c-client displays nothing.  The display is being done by something outside of c-client, and c-client gave it the information to know what type of event it was.
If your application is displaying mm_log() events with no way to suppress them even if errflg=3, then this is a bug in your application and it's your bug to fix.
If PHP is displaying mm_log() events with no way to suppress them even if errflg=3, then this is a bug in PHP and it's the PHP maintainers' bug to fix.
##################



 [2002-02-20 19:39 UTC] rasmus@php.net
Well, look at the code yourself.  This error message comes from the imap libraries and not from PHP.  It is displayed by PHP through the mm_log() callback which is wrapped like this:
void mm_log(char *str, long errflg)
{
    ERRORLIST *cur = NIL;
    TSRMLS_FETCH();

    if (!(EG(error_reporting) & E_NOTICE)) {
        return;

ie. it will only display if E_NOTICE is turned on.  So PHP is correct in that it only optionally displays these.  You must not have turned E_NOTICE off correctly.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Nov 22 02:01:28 2024 UTC