[DBTech] DragonByte Mail

[DBTech] DragonByte Mail [Paid] 5.3.0b1

No permission to buy (€14.95)
Mhm. Now it does not take action on disposable emails. Example:
{"can_connect_smtp":null,"domain":"embarqmail.com","email":"xxx@embarqmail.com","has_inbox_full":null,"is_catch_all":null,"is_deliverable":null,"is_disabled":null,"is_disposable":true,"is_free_email":true,"is_role_account":false,"is_safe_to_send":false,"is_spamtrap":false,"is_valid_syntax":true,"mx_accepts_mail":true,"mx_records":["mx.centurylink.net"],"overall_score":30,"status":"disposable","username":"xxx","verification_mode":"power"}

Clearly this should be a hard bounce because its a disposable email that cannot be delivered to. Its not safe to send now and will never be safe to send. I find quite a few with dodgy disposable mail domains in the log. Quite a few are of the bugmenot.com type. (i.e. people share the login credentials so anyone can log into the forum account)
 
Clearly this should be a hard bounce because its a disposable email that cannot be delivered to. Its not safe to send now and will never be safe to send. I find quite a few with dodgy disposable mail domains in the log. Quite a few are of the bugmenot.com type. (i.e. people share the login credentials so anyone can log into the forum account)
I'm not sure I agree with this. Are you 100% sure that absolutely no free email providers will be flagged as disposable via this validator?

I understand the difference between a publicly accessible disposable email and a free email like Google Mail, but I'm not confident they make that distinction.

I'd rather make a change to check is_deliverable.
 
Btw @Alpha1 in the next version I’ll also make a change that updates validation date when the user gets sent an email. It has to be sent by using setUser() which is most emails sent by XF and my addons.

An example of email not using that code is the email test feature.

That should reduce validation costs going forward :) I’ll see if I can reasonably add the criteria before releasing but I can’t promise that one.
 
This addon is getting better and better.

I'm currently doing tests in 30k and 50k batches. I may be wrong but it seems to me that some of the same accounts that have UNKNOWN result are getting checked again with every batch and therefore the percentage of UNKNOWN results gets higher per batch. Some of the results seem familiar. Is that a correct assumption?
 
This addon is getting better and better.

I'm currently doing tests in 30k and 50k batches. I may be wrong but it seems to me that some of the same accounts that have UNKNOWN result are getting checked again with every batch and therefore the percentage of UNKNOWN results gets higher per batch. Some of the results seem familiar. Is that a correct assumption?
Are there any entries in the XenForo server error log? Also, check the raw_message column in xf_dbtech_mail_validation_log. This is the column I'm referring to when I say "logged" in the rest of this post.

For Reoon specifically, there are three possible reasons why someone would be logged as Unknown:

1. There was a problem reaching Reoon's server, either from an outgoing firewall rule or an aborted connection (or whatever other reasons Guzzle might throw an exception). In this case, the full exception message will be logged.

2. The status or email fields are not found in the result. An UnexpectedResultException is logged in the XF server error log, and the raw response is logged.

3. The status field is not one of the following:
  • safe
  • role_account
  • disposable
  • catch_all
  • spamtrap
  • inbox_full
  • invalid
  • disabled
The raw response is logged.



All of that being said, it does not stop the validation date from updating. The date is updated before the call to the validator's server is made, so even if it was a server error on their part, it would not be revalidated before the 6 month period is up.
 
I think it would be really useful if there was a function to re-check accounts that previous had a specific status. This would allow us to recheck all accounts that previously validated as inbox_full. I'd love to do that after some months. Or re-check all with status UNKNOWN.

BTW: Reoon has a quick mode (which the addon is using) costing 1 credit per check. This suffices for most checks, but its too quick for some email servers and then a significant number of results are UNKNOWN. For this a power mode seems required. I encountered information about this in their FAQ, but am having difficulty to find the info.
See reoon_mode here:
 
@DragonByte Tech what are your thoughts about tracking of email opening and link clicking?

AWS SES support recommends using these methods to track if accounts are active or not and what the last action date is. And to remove non-engagers from non-transactional mailing lists.


It seems to me that its very useful to see how useful or pointless it is to email a user. For example: if we email a user every month for X years and they never open or click, then its likely a good idea to reduce mailings to critical transactional mail only. i.e. password resets, etc.

Do you think its useful to add support for this to your addon?
 
The addon description states:
Analytics Data Gathering: Data is gathered regarding how many of your users open your emails, and how long they read them for. This can be disabled per mailing list. This data will power advanced delivery features, ensuring maximum engagement with your content.
Does email tracking work for activity summary and transactional email?

Creating the SNS Subscription​

  • Click the Topic you just created to open its Edit page
  • In the Edit page, click Create subscription
  • Create a subscription using the following parameters:
    • Topic ARN: Auto filled, leave it
    • Protocol: HTTPS (if your site does not have a SSL certificate, get that fixed)
    • Endpoint: https://<yourdomain.com>/api/dbtech-mail/amazon-sns/
In AWS SNS I need to confirm the subscription. For this I need to enter the confirmation URL. I tried the same URL as the endpoint, but I'm getting this error:

Couldn't confirm the subscription.
Error code: MissingRequiredParameter - Error message: Missing required key 'Token' in params
 
Last edited:
I’ll look into the subscription thing at some point next week :)
Awesome. Thank you! Once I have that going I can request AWS SES to unfreeze my account and re-enable email for my big board.

Am I understanding it correctly that once this is setup, I still need to add bounce email and unsubscribe email as Identities in AWS SES?
(I needed to replace free email providers with paid, because bounce and unsubscribe mails breach the terms of gmail and outlook)
 
Last edited:
Am I understanding it correctly that once this is setup, I still need to add bounce email and unsubscribe email as Identities in AWS SES?
(I needed to replace free email providers with paid, because bounce and unsubscribe mails breach the terms of gmail and outlook)
I've no idea tbh, I have the API setup and it's handling all the bounces for me. In XF I have a bounce-only address setup as a fallback, on a different domain to the SES enabled one.
 
The addon description states:

Does email tracking work for activity summary and transactional email?


In AWS SNS I need to confirm the subscription. For this I need to enter the confirmation URL. I tried the same URL as the endpoint, but I'm getting this error:

Couldn't confirm the subscription.
Error code: MissingRequiredParameter - Error message: Missing required key 'Token' in params
I'm unable to replicate this issue. The subscription auto-confirmed for me. Make sure you're not behind a firewall or Cloudflare or anything else that might interfere with the subscription confirmation.
 
We are using CloudFlare WAF to protect the site from DDoS. What IP do we need to whitelist in the WAF?
I have no idea, I don't know if the Simple Notification Service publishes such a list. If Cloudflare prevents HTTPS requests from Amazon to your site, you might need to revert to the old method of having a bounce email address that XF can log in to and check.
 
DragonByte Tech updated [DBTech] DragonByte Mail with a new update entry:

5.2.0

Update highlights​

This version brings improvements to the email validation feature in DragonByte Mail. You can now configure the criteria used for finding users who should have their emails validated.

By default, it only searches for users with "Valid" user state and users who are not banned. This was the old functionality, ported into the new settings UI. Furthermore, the "No empty email" and "Last validation cut-off" cannot be customised as these are too important to...

Read the rest of this update entry...
 
I have no idea, I don't know if the Simple Notification Service publishes such a list. If Cloudflare prevents HTTPS requests from Amazon to your site, you might need to revert to the old method of having a bounce email address that XF can log in to and check.
For anyone that needs to whitelist it:
User agent:
Amazon Simple Notification Service Agent
Path:
/api/dbtech-mail/amazon-sns

@DragonByte Tech the interface requests a Subscription confirmation URL.
Screenshot 2025-10-13 at 19-23-49 DBT_API_Bounce Topics Simple Notification Service eu-west-1.webp
I used <mysite>/api/dbtech-mail/amazon-sns

I can see that the request is now getting through to the server. It returns 400 - bad request.
Is the subscription confirmation URL correct?
 
Last edited:
I used <mysite>/api/dbtech-mail/amazon-sns

I can see that the request is now getting through to the server. It returns 400 - bad request.
Is the subscription confirmation URL correct?
Yeah https://www.dragonbyte-tech.com/api/dbtech-mail/amazon-sns/ is my endpoint URL, what happens if you use a tool like Postman to send a POST request to the API URL you're trying to enter?

GET requests won't work as it only listens for POST requests.
 
Back
Top Bottom