Thursday, July 21, 2011

Issues with GoDaddy Hosting

I just want to let anyone who is looking to hosting Do not do it if you need to use email on your server. They force you to use their SMTP relay which is very unreliable and when you call for support they just run you around and they will not even chek their logs to find out why their SMTP relay eats emails. Don't count on as your users will not get their emails. Let me also add their server support does not allow you to talk to someone on the phone. Here is an example of how bad it is, we have since moved all our servers to another hosting provider that I can get good support and not forced to use an SMTP relay, which BTW can also cause emails to be flagged as spam as the headers can flag invalid host using GoDaddy. Here is my nightname sumed up in a chat window talking to GoDaddy Server Support team(only way you can talk to someone)

Thank you for contacting Live Chat support for Virtual and Dedicated Servers. This is Amanda. How can I help you?
me: We have been having issue with outgoing mail. The latest issue is email are not going out, even though the email is passed your server, please explain what is going on. As an example the email sent to @ 11:12:22AM was never received.
Amanda W. - Server Concierge: What time is it for your currently?
me: not in spam
me: EST
me: 11:20am
Amanda W. - Server Concierge: It can take up to an hour for messages to send from the relay server, and this is not considered unusual.
me: Another email was 7/18/2011 4:04:01 PM around< To
Amanda W. - Server Concierge: Are the messages present in your mail queue?
me: no Amanda that isn't the case
me: I have been testing for days
me: some emails are coming through
me: no, the handshake shows your server accepting the emails
me: where they go from there, only you can tell me
Amanda W. - Server Concierge: Do the messages that do not go through have anything in common?
me: yes
me: and
me: no
me: the one I sent had the same subject as one I sent about 3 minutes before
me: got the first , not the second
me: why does it matter? I gave you exact times, can't you just check logs?
me: and yesterday there was only one email and he never got it
Amanda W. - Server Concierge: No, I cannot.
Amanda W. - Server Concierge: I would need more information,such as the subject, to investigate.
me: subject for the email today at 11:22:22AM EST had the subject of drop
me: sent to
Amanda W. - Server Concierge: Have you received any bounce errors?
me: yesterday the subject of the email was question
me: how would there be a bounce, I got an email right before same address, I am not an idot, check your logs, your server is doing something
me: and no, no bounce
Amanda W. - Server Concierge: As stated previously, we would need more information to investigate this issue, such as errors returned by mail, common subjects, or common links in failed messages.
me: OK, email is showing passed to your server, no errors, no nothing
me: Gave you exact times
me: exact subject sent to
me: All sent from
me: as if you server never sends them
me: no kickback
me: no ndr
me: no errors
Amanda W. - Server Concierge: is not pointed to the server, so sending messages from the server with this as the from address may trigger spam blocks for spoofing.
me: fine, but again, no email in spam folders
me: and I get most emails
me: I have been testing this for over a week
me: instead of guess, check your logs...
me: please
me: bad enough you force us to use this SMTP relay
Amanda W. - Server Concierge: I am sorry, but we cannot do that.
me: Why not, you just asked me for the subject and times
me: you told me you needed more info
Amanda W. - Server Concierge: With more information, we may be able to find a reason the messages might be failing.
me: you are about to lose a client who has been your client for years. I have given you enough info. Time we start looking for another host if you cannot even support your services
me: What more info could you need
me: I gave you exact time
me: subject
me: from
me: to
me: body, same subject
me: Every email server has a log, if you do not have access, find someone who can
me: We are not running an email server on the server
Amanda W. - Server Concierge: As stated several times, we cannot check SMTP logs to see why messgaes are not sending. If messages with a common subject fail, avoiding that subject may be advisable, and avoiding sending mail from domains that do not point to the server is always advisable.
me: just check one email box
me: useless... thanks for nothing...

Friday, July 15, 2011

How to stop duplicate emails in email2db

Hey all,
I was having issues where sometimes within my triggers and multiple back and forths with the email2db that my triggers would fire over and over. For example:
I have a trigger called test. I have a second trigger called test 2.
First email is sent with this in the body : "We are going to start the test tomorrow"
End User gets reply
End User replies and hits reply in their client:
Hey I am more interested in test 2

-----Original Message-----
From: Parker Software Ltd []
Sent: Friday, July 15, 2011 3:31 AM
To: Vecdid
Subject: test

We are going to start the test tomorrow
Now, by default email2db will reply to both triggers now. I do not want the same email with the same trigger going to the same user, makes no sense. So, I came up with the follow script I thought I would share and save someone else the time. Add this to your condition script and no dupes should ever happen.
Please note I am not using the built in database, I configured email2db to use SQL Server.
Sub Main()
Dim blnDupe As Boolean
Dim strConnectionString As String
Dim strTriggerID As String
Dim strSQL As String
Dim objcon
Dim objRS

blnDupe = False
Set objcon = CreateObject("ADODB.Connection")
strConnectionString = "Provider=SQLOLEDB.1;Data " & _
"Source=MYSQLSERVER;Initial Catalog=Email2DB;user id = 'ID';password='PASSWORD'"
'Grab the trigger id from the Trigger table
strSQL = "Select TriggerID from Triggers where TriggerName = 'MYTRIGGERNAME"
objcon.Open strConnectionString
Set objRS = o.Execute(strSQL)
strTriggerID = objRS.Fields.Item(0)
'Check email2db table for existing reply to fromaddress by triggerID
objcon.Open strConnectionString
strSQL = "Select FromAddress from Email2DB where TriggerMatch = 1"
strSQL = strSQL + " And TriggerSuccess = 1 And TriggerID = '"
strSQL = strSQL + strTriggerID + "' AND FromAddress = '" + MSG_From + "'"

Set objRS = objcon.Execute(strSQL)
'Do we have a dupe by TriggerID/Email
Do Until objRS.EOF
blnDupe = True
'YOU MUST SET Email2DBTrigger, true fires any trigger actions and if you use a condition script all other conditions seem to be ignored
If blnDupe = True Then Email2DBTrigger = False
If blnDupe = False Then Email2DBTrigger = True
End If

Just a heads up, you may have to add to the triggerID lookup the accountID if you use multiple accounts.
So you would change this:
strSQL = "Select TriggerID from Triggers where TriggerName = 'MYTRIGGERNAME"
To this:
strSQL = "Select TriggerID from Triggers where TriggerName = 'MYTRIGGERNAME" AND AccountID = 'MYACCOUNTID'"