Thanks, It works with the Date: header like you said, and to use gmtime function instead of the local time function.
regards, John -----Original Message----- From: Herbert, Mark [mailto:[EMAIL PROTECTED] Sent: Saturday, December 06, 2003 3:51 AM To: 'John Deretich' Subject: RE: :SMTP Hi John, that doesn't work because it does not specify the time zone. The RFC 2822, http://www.faqs.org/rfcs/rfc2822.html , under section "3.3. Date and Time Specification", shows how the date/time must be formatted: > date-time = [ day-of-week "," ] date FWS time [CFWS] The "time" format is specified as HH:MM[:SS] +/-ZZZZ The zone is 4 digits preceded by plus or minus that indicates hours/minutes from GMT. The "FWS" means "folding white space", or simply, a blank. "CFWS" means a comment, which is often included and is the name of the timezone in parenthesis. BTW, my reply includes a header below, which has a line "Sent:". That is something Outlook generated and it is intended for humans to read. It is not a SMTP header. Regards, Mark > -----Original Message----- > From: John Deretich [mailto:[EMAIL PROTECTED] > Sent: Friday, December 05, 2003 9:52 PM > To: 'Herbert, Mark' > Cc: Perl-Win32-Admin-Request (E-mail) > Subject: RE: :SMTP > > > Hi Mark, > > Using the date line in the header is > working except the time of day is wrong. > Do you know why? > This is what I'm plugging into > the date line. > > $time = localtime(time); > The "Date: $time\n" will put a date of Fri 12/5/2003 4:52 AM > > thanks, > > John > > > -----Original Message----- > From: Herbert, Mark [mailto:[EMAIL PROTECTED] > Sent: Friday, December 05, 2003 8:48 AM > To: 'John Deretich' > Cc: 'Perl-Win32-Admin' > Subject: RE: :SMTP > > > Hi John, > > did the line end up in the body of the message? Once you > start writing > data, you must write the header lines with no blank lines in between, > because the end of the header and start of the body is > signaled by one or > more blank lines. After the blank line, all following lines > are part of the > body. > > Why do you want to write a line called "Sent" anyway? If you > want to place > the date into an email so that the recipient client displays > that date, then > you must include a "Date:" line in the header. There is no "Sent" line > defined in the RFCs (that I can find anywhere) and clients will simply > ignore it. Besides it just being there, it also has to be > reasonably close > to the date/time format shown in RFC2822 (how close depends > on the client). > > Regards, > Mark > > > -----Original Message----- > > From: John Deretich [mailto:[EMAIL PROTECTED] > > Sent: Friday, December 05, 2003 4:56 PM > > To: 'Herbert, Mark' > > Cc: Perl-Win32-Admin-Request (E-mail) > > Subject: RE: :SMTP > > > > > > Thanks Mark, > > > > but one question? > > I tried $smtp->datasend("X-Sent: xxx\n"); > > But it didn't put the additional line into > > the header. Any idea why? > > > > regards, > > > > John > > > > -----Original Message----- > > From: Herbert, Mark [mailto:[EMAIL PROTECTED] > > Sent: Friday, December 05, 2003 2:55 AM > > To: 'John Deretich' > > Subject: RE: :SMTP > > > > > > Hi John, > > > > everything entered using datasend is the "body". The protocol > > has a bunch of > > lines that are placed in a so-colled envelope. The envelope > only has a > > from-address (MAIL FROM) and a recipient address (MAIL RCPT). > > Everything > > else is in the lines of text, which have nothing to do with > > delivery. The > > Net::SMTP mail() method opens a connection to a SMTP server > > (by leaving the > > parameters blank, you are trusting that the local Net::SMTP > > has the defaults > > correctly configured). The to() method sets the envelope > > to-address, or MAIL > > RCPT. The mail() method sets the from address, or MAIL FROM. > > The lines of > > text entered using the method datasend, are broken into two > > parts. The first > > part is the header, and it has nothing to do with the > > envelope (that's why > > spammers have it so easy). The header is not free text - all > > header lines > > are defined in varios RFCs. The minimum should include > "To:", "From:", > > "Subject:". Most SMTP servers will add missing header > lines, such as, > > "Date:", but it is better to specify it yourself. There is no > > "Sent" header > > line defined in the RFCs, and no such line should be placed > > in the header. > > If you want to add your own lines to the header, then the > > lines should begin > > with "X-", such as, "X-Sent:". After the header, comes one or > > more blank > > lines, followed by whatever lines you want in the message. > > > > BTW, I have had ActiveState's (Sophos) PureMessage running > > here for about a > > month now, and improperly configured header lines are good > > way to get your > > mail blocked by spam filters. You should follow the RFCs > very closely. > > > > I hope that helps. > > > > Regards, > > Mark > > > > > -----Original Message----- > > > From: John Deretich [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, December 04, 2003 10:12 PM > > > To: 'Herbert, Mark' > > > Subject: RE: :SMTP > > > > > > > > > Sorry, > > > > > > I never received an original answer from you. > > > I think you are right: > > > > > > This is the exsmple that I am using: > > > > > > $smtp = Net::SMTP->new(''); > > > $smtp->mail(''); > > > $smtp->to(""); > > > $smtp->data(); > > > $smtp->datasend("To: [EMAIL PROTECTED]"); > > > $smtp->datasend("Subject: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxn"); > > > $smtp->datasend("Sent: xx:xx::xx \n"); > > > $smtp->datasend("\n"); > > > $smtp->datasend("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"); > > > $smtp->datasend("\n"); > > > $smtp->dataend(); > > > $smtp->quit; > > > But it didn't work in the header portion > > > of the email. I think SMTP put it in the body > > > of the message. > > > > > > thanks, > > > > > > John > > > > > > -----Original Message----- > > > From: Herbert, Mark [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, December 04, 2003 1:04 PM > > > To: 'John Deretich' > > > Subject: FW: :SMTP > > > > > > > > > Hi John, > > > > > > since I thought I answered this, maybe I don't understand > > what you are > > > asking. > > > > > > The Net::SMTP module handles the envelope and the data. The > > > envelope has the > > > MAIL FROM address and the MAIL RCPT address (among a few > > > other things), but > > > it does not have any date information. A SMTP header > > can/should have a > > > "Date:" line, but that, and all other header lines, are > > > written in the data > > > portion of the message. You have to write the data - > > > Net::SMTP does not do > > > that for you. The data starts with header lines, then a blank > > > line, then the > > > rest of the message. There is no "Sent" line in the SMTP > > > standard. I have > > > seen various "X-" lines with their own date/time information, > > > but the only > > > line defined in the RFCs which has date/time information is > > > the "Date:" > > > line. Is that what you are trying to add, or something else? > > > > > > Regards, > > > Mark > > > > > > > > > -----Original Message----- > > > From: Herbert, Mark > > > Sent: Tuesday, November 25, 2003 10:00 AM > > > To: 'John Deretich'; 'Perl-Win32-Admin-Request' > > > Subject: RE: :SMTP > > > > > > > > > Hi John, > > > > > > you use the mail and recipient methods to define the > > envelope, but the > > > "To:", "From:", "Date:", "Subject:", etc. lines are included > > > in the data: > > > > > > $smtp = Net::SMTP->new($smtpServer); > > > $smtp->mail($mailSender); > > > $smtp->recipient($mailRecipient); > > > > > > $smtp->data(); > > > $smtp->datasend("From: ".$mailSender."\n"); > > > $smtp->datasend("To: ".$mailRecipient."\n"); > > > $smtp->datasend("Date: ".$datetime."\n"); > > > $smtp->datasend("Subject: Text\n"); > > > $smtp->datasend("\n"); > > > $smtp->datasend($msg."\n"); > > > $smtp->dataend(); > > > $smtp->quit; > > > > > > The format of the date/time line is like this: "Fri, 25 Jan > > > 2002 16:49:57 > > > +0100" > > > That is defined in RFC2822. > > > > > > Regards, > > > Mark > > > > > > > > > > > > > -----Original Message----- > > > > From: John Deretich [mailto:[EMAIL PROTECTED] > > > > Sent: Tuesday, November 25, 2003 12:24 AM > > > > To: Perl-Win32-Admin-Request (E-mail) > > > > Subject: Net::SMTP > > > > > > > > > > > > Hello, > > > > > > > > does anyone know how to put > > > > in the date and time in the "sent:" > > > > section of the email using Net::SMTP? > > > > > > > > > > > > thanks, > > > > > > > > John > > > > _______________________________________________ > > > > Perl-Win32-Admin mailing list > > > > [EMAIL PROTECTED] > > > > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs > > > > > > > > > > _______________________________________________ > Perl-Win32-Admin mailing list > [EMAIL PROTECTED] > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs > _______________________________________________ Perl-Win32-Admin mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
