Closed Bug 458564 Opened 16 years ago Closed 16 years ago

"Mail with no Date header not accepted here" failure when sending appointment email to meeting attendees

Categories

(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: des, Assigned: grlownzl)

References

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-GB; rv:1.9.0.3) Gecko/2008092414 Firefox/3.0.3
Build Identifier: lightning-0.9-tb-macosx.xpi

I'm testing Lightning with the Zarafa groupware application. When sending an appointment with "Send attendees invitations via email" checked, the send operation fails with the error noted above.

From what I have found this is because the server (Mitel SME Server, running qmail/qpsmtpd) strictly enforces RFC2822. This RFC requires a date header.

Reproducible: Always

Steps to Reproduce:
1. Create Event
2. Add attendees
3. Check "Send attendees invitations via email"
4. Save and Close
5. Check Outlook 2000 dialog
6. Server rejects message
Actual Results:  
The error dialog popped up.

Expected Results:  
Sent out emails to the attendees.
I can confirm this occurs; we are also behind a Mitel SME server.  I have patched the components/calItipEmailTransport.js file to allow the message to go out (adding a "Date: " field to the mail headers).  Now if only I could work out how to generate the patch.....
Not fully tested
Confirming based per Comment #1 and similar report at <http://forums.mozillazine.org/viewtopic.php?f=46&t=979555>.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Mac OS X → All
Hardware: Macintosh → All
Version: unspecified → Lightning 0.9
Flags: wanted-calendar1.0?
Patched against cvs source rather than built lightning packaged version
Attachment #349952 - Attachment is obsolete: true
Attachment #352078 - Attachment description: This is the same patch as the previous, just against the mozilla source, rather than the packaged js file in lightning 0.9 → add date to mail content generated by _createTempImipFile in calendar/itip/calItipEmailTransport.js
Hi, the CVS repository is no longer used. The current source code lives in the new Mercurial repository <https://developer.mozilla.org/En/Comm-central>.
(In reply to comment #5)
> Hi, the CVS repository is no longer used. The current source code lives in the
> new Mercurial repository <https://developer.mozilla.org/En/Comm-central>.

Hi, thanks for that, I'll create a patch against that.  I just got confused about which rcs I should be going against being as I'm on Intrepid/Stable.
Comment on attachment 352078 [details] [diff] [review]
add date to mail content generated by _createTempImipFile in  calendar/itip/calItipEmailTransport.js

looks good to me, thanks for the patch!

r=dbo
Attachment #352078 - Flags: review+
Assignee: nobody → des
Status: NEW → ASSIGNED
Flags: wanted-calendar1.0?
Version: Lightning 0.9 → unspecified
slightly modified and pushed to comm-central <http://hg.mozilla.org/comm-central/rev/cad3dce66ca4>

-> FIXED
Assignee: des → grlownzl
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.0
The given fix: 
  "Date: " + (new Date()).toUTCString() + "\r\n" +
does the job, but produces a date in GMT format, e.g.
  Date: Tue, 02 Jun 2009 15:17:48 GMT
rather than the usual and more readable
  Date: Tue, 2 Jun 2009 17:17:48 +0200

To implement the latter, I use: 
  "Date: " + getCurrentDate() + "\r\n" +
with the following auxiliary function:

function getCurrentDate()
{
  var now = new Date();
  // return now.toUTCString(); //yields GMT format
  var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
  var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

  var now_string = days[now.getDay()] + ", " +
    now.getDate() + " " + months[now.getMonth()] + " " + now.getFullYear() + " ";
                      
  var h = now.getHours(); if (h < 10) now_string += "0";
  now_string += h + ":";
  var m = now.getMinutes(); if (m < 10) now_string += "0";
  now_string += m + ":";
  var s = now.getSeconds(); if (s < 10) now_string += "0";
  now_string += s + " ";
  var tz = now.getTimezoneOffset();

  if (tz > 0) {
    now_string += "-";
  } else {
    now_string += "+";
    tz *= -1;
  }

  tz = tz/60;
  if (tz < 10) now_string += "0";
  now_string += tz + "00";

  return now_string;
}
These bugs are likely targeted at Lightning 1.0b1, not Lightning 1.0. If this change was done in error, please adjust the target milestone to its correct value. To filter on this bugspam, you can use "lightning-10-target-move".
Target Milestone: 1.0 → 1.0b1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: