Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-16 Thread Francois Piette
Hi Hoby,

 Specifically, the problem was that GoDaddy doesn't
 like parenthesis [( and )] in the from field.

Thanks for your feedback.
It is always good to know that the problem was not in ICS component.

--
francois.pie...@overbyte.be
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be

- Original Message - 
From: Hoby Smith h...@romans618.org
To: 'ICS support mailing' twsocket@elists.org
Sent: Wednesday, July 15, 2009 10:47 PM
Subject: Re: [twsocket] Simple SMTP text emails rejected for virus or spam


 Well, I finally resolved this issue.  What a pain.  In the end, the
problem
 was just character data that GoDaddy didn't like.  It would have been nice
 if their SMTP  response had said something like, Invalid character data
 detected, instead of, Rejected due to spam or virus content.  But,
maybe
 I am asking too much?  ;)

 Specifically, the problem was that GoDaddy doesn't like parenthesis [(
and
 )] in the from field.  I was using parenthesis to designate the email
 address content from the friendly name, like, Some User
(u...@domain.com).
 I use that format so that users will see a more readable name in their
mail
 client (Outlook, etc).  Changing to brackets, like Some User
 u...@domain.com, fixed the problem.  Go figure.

 Historically, I have used both and never had a problem.  In this case, the
 SMTP profile was stored in an encrypted XML file for my service, so the

 was giving my problems in the beginning with the XML tags.  Hence, I used
 parenthesis instead.  Odd that GoDaddy didn't like it.  I have never had a
 problem with that format in the from field.  Oh well, like I said, a
more
 relevant message would have saved two days of my time, as well as their
 tech's time.

 BTW, I thought this was rather indicative of GoDaddy's persona.  Most
 servers I have had to log, respond to the SMTP data request with
something
 like, 354 Start mail input; end with CRLF.CRLF, or something
 informative like that.  However, GoDaddy's response is, 354 go ahead
punk,
 make my day.  Really.  Kind of tells ya something, huh?  :)

 Thanks for the input.  Hoby

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Arno Garrels
It's possible that their filter recognize the X-Mailer header,
try to remove or overwrite it in OnHeaderLine event.
Also if the mail used multiple parts the MIME boundaries could
be recognized as well. Many spammers use ICS.
Regarding the hard coded boundary strings I suggest to make 
them (or parts) component properties.

--
Arno Garrels


Hoby Smith wrote:
 Hello, everyone...
 
 Any input on this would be really appreciated.
 
 I have a processing service that generates very simple SMTP
 notifications to customers.  Basically, these are system alerts about
 item due dates, etc.  I am using ICS TSyncSMTPCli v2.5 to send the
 messages with.  I simply set the envelope parameters and message,
 then deliver it to the SMTP server.  VERY SIMPLE.  I have used this
 same pattern in numerous apps for years and never had a problem.
 
 A recent client signed up for the service who is with GoDaddy.  For
 some very ANNOYING reason, GoDaddy doesn't like something about the
 emails I am sending him.  It rejects them with 554 The message was
 rejected because it contains prohibited virus or spam content.  This
 is of course absurd, since they are text format emails with one or
 two sentences of text.  I have tried several different content
 changes, including just sending, this is a test. All bounce back
 with this error. 
 
 I just got off the phone with a tech there who is rather clueless. 
 My IP / host is not blocked and they can't tell me why it is
 rejecting the emails. 
 
 So, currently, my best guess is that something in the way I am
 creating the envelope is flagging their spam/virus filter.  I have
 not had this problem with any other SMTP servers, but that doesn't
 necessarily mean anything.  I am open to the possibility that I am
 doing something they don't like, but I have no clue what that could
 be.  My header is so simple, I am at a loss as to what they might not
 like. 
 
 Has anyone ever encountered this issue?  Any thoughts?  I am stumped.
 I have been doing this for years without problem.  :(
 
 Here is a snippet of code from where I set the email content
 parameters. Maybe I am doing something odd?  Maybe they don't like
 the ReplyTo not being the sender or something?  FYI, smtpMain is the
 TSyncSMTPCli component. 
 
 *
 Code snippet
 *
  smtpMain.FromName   := fFromAddr;
  smtpMain.HdrReplyTo := fReplyTo;
  smtpMain.HdrFrom:= fFromName;
  smtpMain.HdrTo  := aEmail;
  smtpMain.HdrCc  := '';
  smtpMain.HdrSubject := aSubject;
  smtpMain.HdrSender  := fFromAddr;
 
  smtpMain.RcptName.Clear;
  smtpMain.RcptNameAdd(smtpMain.HdrTo,'','');
 
  with smtpMain.MailMessage do
  begin
Clear;
 
if not fNoPrelim then
begin
  Add('Per your request, we are notifying you of the following');
  Add('event:');
  Add('');
  Add('');
  Add('Account name: ' +
 qryNotifyHistory.FieldByName('acct_ref').AsString);
  Add(
qryNotifyHistory.FieldByName('proj_label').AsString +
': ' +
qryNotifyHistory.FieldByName('proj_title').AsString);
  Add('');
end;
 
Add(aMessageText);
 
if not fNoFooter then
begin
  Add('');
  Add('');
  Add('***');
  Add('Note: This is an automatically generated email.  Replies');
  Add('to this email will not be read.');
  Add('***');
end;
  end;
 
  SetTask('Delivering SMTP message...');
  SetTaskProgress(33);
 
  if not smtpMain.MailSync then
  begin
Result := False;
LogText(0, 'Err: ' + smtpMain.ErrorMessage, 'Failed');
exit;
  end;
 
 *
 End Code snippet
 *
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Francois Piette
It is likely that - despite what they say - your IP or hostname is
blacklisted.
You should try to send the email, with the exact same program, from another
computer (or even several computers) using another ISP. If the problem
happend from anywhere, then it is a problem of the mail itself. For example,
each eamil sent by ICS contains a header line X-Mailer: ICS SMTP Component
V7.26. Maybe their anti spam check that line for some strange reason. You
can easily change that lin by going into the source code.
--
francois.pie...@overbyte.be
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be


- Original Message - 
From: Hoby Smith h...@romans618.org
To: twsocket@elists.org
Sent: Wednesday, July 15, 2009 6:28 AM
Subject: [twsocket] Simple SMTP text emails rejected for virus or spam


 Hello, everyone...

 Any input on this would be really appreciated.

 I have a processing service that generates very simple SMTP notifications
to
 customers.  Basically, these are system alerts about item due dates, etc.
I
 am using ICS TSyncSMTPCli v2.5 to send the messages with.  I simply set
the
 envelope parameters and message, then deliver it to the SMTP server.  VERY
 SIMPLE.  I have used this same pattern in numerous apps for years and
never
 had a problem.

 A recent client signed up for the service who is with GoDaddy.  For some
 very ANNOYING reason, GoDaddy doesn't like something about the emails I am
 sending him.  It rejects them with 554 The message was rejected because
it
 contains prohibited virus or spam content.  This is of course absurd,
since
 they are text format emails with one or two sentences of text.  I have
tried
 several different content changes, including just sending, this is a
test.
 All bounce back with this error.

 I just got off the phone with a tech there who is rather clueless.  My IP
/
 host is not blocked and they can't tell me why it is rejecting the emails.

 So, currently, my best guess is that something in the way I am creating
the
 envelope is flagging their spam/virus filter.  I have not had this problem
 with any other SMTP servers, but that doesn't necessarily mean anything.
I
 am open to the possibility that I am doing something they don't like, but
I
 have no clue what that could be.  My header is so simple, I am at a loss
as
 to what they might not like.

 Has anyone ever encountered this issue?  Any thoughts?  I am stumped.  I
 have been doing this for years without problem.  :(

 Here is a snippet of code from where I set the email content parameters.
 Maybe I am doing something odd?  Maybe they don't like the ReplyTo not
being
 the sender or something?  FYI, smtpMain is the TSyncSMTPCli component.

 *
 Code snippet
 *
   smtpMain.FromName   := fFromAddr;
   smtpMain.HdrReplyTo := fReplyTo;
   smtpMain.HdrFrom:= fFromName;
   smtpMain.HdrTo  := aEmail;
   smtpMain.HdrCc  := '';
   smtpMain.HdrSubject := aSubject;
   smtpMain.HdrSender  := fFromAddr;

   smtpMain.RcptName.Clear;
   smtpMain.RcptNameAdd(smtpMain.HdrTo,'','');

   with smtpMain.MailMessage do
   begin
 Clear;

 if not fNoPrelim then
 begin
   Add('Per your request, we are notifying you of the following');
   Add('event:');
   Add('');
   Add('');
   Add('Account name: ' +
 qryNotifyHistory.FieldByName('acct_ref').AsString);
   Add(
 qryNotifyHistory.FieldByName('proj_label').AsString +
 ': ' +
 qryNotifyHistory.FieldByName('proj_title').AsString);
   Add('');
 end;

 Add(aMessageText);

 if not fNoFooter then
 begin
   Add('');
   Add('');
   Add('***');
   Add('Note: This is an automatically generated email.  Replies');
   Add('to this email will not be read.');
   Add('***');
 end;
   end;

   SetTask('Delivering SMTP message...');
   SetTaskProgress(33);

   if not smtpMain.MailSync then
   begin
 Result := False;
 LogText(0, 'Err: ' + smtpMain.ErrorMessage, 'Failed');
 exit;
   end;

 *
 End Code snippet
 *

 --
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Francois Piette
 Regarding the hard coded boundary strings I suggest to
 make them (or parts) component properties.

Would be a good idea to create a property XMailer with that string. The
default value would be the current value. Some trick should be used so that
the correct component version is used even if the property is serialized
because the component has been dropped on a form. I think of a kind of
placer holder such as %VER% within the string.

--
francois.pie...@overbyte.be
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Arno Garrels
Francois Piette wrote:
 Regarding the hard coded boundary strings I suggest to
 make them (or parts) component properties.
 
 Would be a good idea to create a property XMailer with that string.
 The default value would be the current value. Some trick should be
 used so that the correct component version is used even if the
 property is serialized because the component has been dropped on a
 form. I think of a kind of placer holder such as %VER% within the
 string. 

That's a good idea, will add this when I have some minutes.

--
Arno Garrels

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Hoby Smith
 Francois said...
 1- You should try to send the email, with the exact
 same program, from another computer (or even several 
 computers) using another ISP
 2- It is likely that - despite what they say - your 
 IP or hostname is blacklisted.

Thanks for the input Francois.  I have indeed tested by sending through an
alternate gateway and other methods.  Same problem.  Also, when I attempt to
reroute through a gate SMTP, my gateway SMTP logs show that the IP blockage
has been removed and that the target SMTP server responds with the
virus/spam error instead of host rejection.  So, I think they are correct
that there is no IP blockage anymore.

So, my ultimate conclusion is that, like you said, it is the email itself
that they don't like.  

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Simple SMTP text emails rejected for virus or spam

2009-07-15 Thread Hoby Smith
Well, I finally resolved this issue.  What a pain.  In the end, the problem
was just character data that GoDaddy didn't like.  It would have been nice
if their SMTP  response had said something like, Invalid character data
detected, instead of, Rejected due to spam or virus content.  But, maybe
I am asking too much?  ;)

Specifically, the problem was that GoDaddy doesn't like parenthesis [( and
)] in the from field.  I was using parenthesis to designate the email
address content from the friendly name, like, Some User (u...@domain.com).
I use that format so that users will see a more readable name in their mail
client (Outlook, etc).  Changing to brackets, like Some User
u...@domain.com, fixed the problem.  Go figure.

Historically, I have used both and never had a problem.  In this case, the
SMTP profile was stored in an encrypted XML file for my service, so the 
was giving my problems in the beginning with the XML tags.  Hence, I used
parenthesis instead.  Odd that GoDaddy didn't like it.  I have never had a
problem with that format in the from field.  Oh well, like I said, a more
relevant message would have saved two days of my time, as well as their
tech's time.

BTW, I thought this was rather indicative of GoDaddy's persona.  Most
servers I have had to log, respond to the SMTP data request with something
like, 354 Start mail input; end with CRLF.CRLF, or something
informative like that.  However, GoDaddy's response is, 354 go ahead punk,
make my day.  Really.  Kind of tells ya something, huh?  :)

Thanks for the input.  Hoby

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be