Author |
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 06 January 2017 at 4:40am | IP Logged
|
|
|
Hi experts,
I'm in progress of choosing a suitable SMTP library for our .NET project and found mailbee.net. I have a stupid question about the send method of smtp class in this URL:
http://www.afterlogic.com/mailbee-net/docs/MailBee.SmtpMail.Smtp.DnsServers.html
You wrote: "If DnsServers collection is non-empty and SmtpServers collection is empty, Send() method will send messages in direct send mode. For each unique domain in the list of the message recipients domains (e.g. host1, host2, host3 if the recipients are joe@host3, kate@host1, bill@host2, tanya@host3, rob@host2), the component makes a query to the DNS server to get the name of the SMTP server which accepts mail for the corresponding domain (for instance, mx.host1, smtp.host2, mx-5.large-isp for host1, host2, host3), and then sends mail directly to these servers. If more than one SMTP server accepts mail for the given domain, the highest-priority server will be tried first. If it fails, other servers will be tried accordingly their priorities."
Then for every email, if the first send get failed, mailbee.net will try to send more times to another MX server. This is not good for us. For example, Yahoo has many MX records but all MX records point to the same actual mail server. If mailbee.net try to send multiple times to the same mail server (although with different MX records) it's bad right? Because when sending to Yahoo if you are blocked at first send, all try later will be failed too.
I'm not sure why mailbee.net works in this way? Any way to prevent this?
Regards
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 09 January 2017 at 2:31am | IP Logged
|
|
|
Hi,
First of all, using direct send is not recommended at all. It should only be considered as a fallback option when SMTP relay is down. SMTP relay can retry failed sends later, can queue emails and group individual mails by domain for better performance, and much more.
Still, in case if you're using direct send, there should be no problem with your particular case. If the MX rejects your email, MailBee will not try another MX. It will try it only in case if the primary MX is dead. If it's alive and intentionally rejects your email, MailBee understands that the problem is with the email, not with the server.
Regards,
Alex
|
Back to Top |
|
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 09 January 2017 at 3:14am | IP Logged
|
|
|
Hi Alex,
As you said above, your library is so smart. As my experience in delivery, there are a ton way the destination mail server say "reject" to the sender. If mailbee.net use smtp code to detect this then there are many false detections.
So, I hope you may do a test with Yahoo and tell me how mailbee.net process for this case:
- If yahoo rejects the email temporarily, it will answer, for example, "All messages from x.x.x.x temporarily deferred due to user complaints; see https://help.yahoo.com/kb/postmaster/SLN3326.html"
- In this case, does mailbee.net stop sending or it will connect to another mail server (another MX host) of the domain? And what is the key mailbee.net use to detect the rejection.
Is there any way, any option I can set to mailbee.net not to try another MX host when the first one get failed? If there is not, may you show me the most completed example of direct send using mailbee.net.
Direct send is so important for us because our ongoing project is to build a mail server which direct send is a must.
If mailbee.net is good enough, we will buy it soon
Regards
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 09 January 2017 at 6:20am | IP Logged
|
|
|
In this case, MailBee will try another MX. Temporary error codes mean "the client should try again". That's what MailBee does. MailBee won't try again if the error is permanent (mailbox does not exist).
The next version (which will be released in a month or so) adds a new event TransientErrorOccurred which lets the app code decide if transient errors should be ignored (backup MX is tried in case of a temporary error or if the primary MX is dead) or not (backup MX is tried only if the primary is dead). The property gives you the response string from the server (and the SMTP code) so you can apply different logic depending on the SMTP response string.
Regards,
Alex
|
Back to Top |
|
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 09 January 2017 at 6:57am | IP Logged
|
|
|
Great to hear that Alex,
I'm waiting for that release. Thanks for your help.
Regards
|
Back to Top |
|
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 11 February 2017 at 3:33am | IP Logged
|
|
|
Hi Alex,
Any updates for the new event TransientErrorOccurred? Did you release it?
Regards
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 12 February 2017 at 2:26am | IP Logged
|
|
|
Hi,
You can request pre-release version. Contact us via Helpdesk for this.
Regards,
Alex
|
Back to Top |
|
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 16 March 2017 at 8:07am | IP Logged
|
|
|
Hi Alex
I got an email about MailBee.net version 11 release. Does this release include the features you mentioned above?
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 16 March 2017 at 10:14am | IP Logged
|
|
|
Hi,
Yes. Now the component won't try re-sending to other MXes in case of a transient error. Also, you can adjust this behavior with Smtp.TransientErrorOccurred event.
Regards,
Alex
|
Back to Top |
|
|
jacktran Newbie
Joined: 06 January 2017 Location: United States
Online Status: Offline Posts: 6
|
Posted: 16 March 2017 at 4:40pm | IP Logged
|
|
|
Thanks Alex,
|
Back to Top |
|
|