• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

Deferred: 452 Too many recipients

 
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm experimenting with sending a large email mailing using Java's email API to permit me to attach files and insert images.

The problem I'm addressing is ERROR 452. I.e. Domains like Yahoo that will not permit too many emails from a single sender to be delivered to Yahoo email accounts in too short a time period.

For example, sending to a list with say 25 "@yahoo.com" addresses will trigger its SPAM blocker. It will not deliver the message. Instead it will return ERROR 452 message to the sender.

When I want to use the list for TO: addresses it's easy to overcome that problem, because I can code a delay between each send that is sufficiently long to avoid triggering ERROR 452 by the domain that has such a blocker.

When I send an email to a single TO: address and put my long list as BCC: addresses I can't figure out if, or how, I can spread out transmission of the BCC: copies.

So I need to learn more about how Java API works.

More specifically ... assume I create a message with a
-- single TO: address and
-- 50 BCC: addressees.

1. Does the App send a single message to the ISP server that relies on the ISP server create a separate message for each TO:, CC:, and BCC: addressee? (Bad ... because then I can't delay transmission of BCC: messages to dodge the 452.)

or

2. Does the Java API create the separate messages required for each addressee and send them to the ISP for delivery? (Good ... In which case it seems I have a hope of transmitting the copy for each BCC: addressee at delayed intervals)

or

Does anyone have any other suggestions for how to deal with long BCC: address lists?

Thanks,
glb
 
Sheriff
Posts: 28348
97
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
(I assume you're asking about JavaMail code which you have access to.)

When you call the "send" method, it connects to the server and sends the message along with all the recipients. That doesn't actually send the message to anybody, it just gives it to the server to handle. It's up to the server to make sure that each recipient gets their version of the message. You can turn on the debug mode in JavaMail to look at the conversation between your code and the SMTP server, that might clarify things for you.

By the way, the word "Deferred" in the error message doesn't sound like a rejection to me. It sounds more like "Okay, but I'm not going to do this right away". Have you been able to find out what exactly happened to the message which produced the 452?
 
George Berish
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Paul,

Thanks for the info.

But I'm pretty sure that
"452 Too many reciients"
is a SPAM related response that means the message will not be delivered.

Its not just a warning that the system is temporarily overloaded and will deliver it later.

I mean I've triggered Yahoo's defensive response with as few as 20 @Yahoo.com addressees, and its hard to belive that would pull any "overload" trigger.

I'm still not sure how Yahoo adminsters that filter, but somehow Yahoo senses when the same message arriving for too many of its accounts in too short a time it rejects it in total for all of the accounts.

But given what you told me it sounds like

-- My local JavaMail API app assembles a single "entity" with all the info, data addressees and sends it to the email server running on the virtual server (hosted by eApps) that serves my domain.

-- Then I'm guessing my server only splits it into separate "entities" for each distinct domain. I mean if my message has 5 addresses at Yahoo.com and 12 at hotmail.com and 2 at hawaii.rr.com my server only sends out 3 "entities".

-- Then when Yahoo.com, hotmail.com, and hawaii.rr.com receive those it is their servers that create and deliver the 5, 12, and 2 individual messages.

?

Regardless ... It looks like there is no way to get the BCC: copies sent at spaced out intervals.

I mean if the message doesn't get broken up into separate copies for each individual addressee until it gets to the domain of each recipient group, I can't even break them up into small groups, because that would flood the TO: addressee with multiple copies.

glb
 
Paul Clapham
Sheriff
Posts: 28348
97
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

George Berish wrote:?



Yes, I think that's a pretty accurate description of how e-mail works.

However... have to considered sending your "small group" e-mails with BCC recipients only, and no TO address? I'm not sure if that's possible but I vaguely recall receiving mailing-list entries which appeared to have no TO address.
 
George Berish
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Paul,

Yep. I thought about "Unknown" as the addressee.

But messages that arrive with something like "Unknown" in the TO: line are often blocked or deleted without opening ... which is what I do.

Plus ... the BCC: reader needs to know who the TO: addressee is to make sense of the message and understand why they are getting a BCC:.

For example, a letter to the editor to a paper (TO:) that I wish to send to friends at the same time.

I mean a Canadian liberal has monopoly ownership of our only paper, so the chance of anything that interests me getting published is zero.

Therefore when I invest in the time to write a letter, I just use the paper to fill the TO: line so I can protect my friends -- only reader -- on the BCC: lline.

Its just that TO: [email protected] is more likely to get opened than "Unknown".

But alas ... life is not always cooperative ... so for now I'll have to live with the fact there is no way to automate addressing when domains like Yahoo.com are included.


FYI: Now I send the email with all domains that don't produce 452 errors.
Then I take the sent copy and manually forward it to myself with a little note explaining why they weren't included in the original message BCC: line.


But thanks for your help. It saved me lots of time.

glb



 
Paul Clapham
Sheriff
Posts: 28348
97
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, that all makes sense. I'm a Canadian liberal myself so I know what you're talking about. Anyway it looks like you have your problem basically settled.
 
George Berish
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Pual,
Ummm ... not settled but understood.
Thanks for your help.
Stay warm.
Just because I live in Hawaii doesn't mean I don't have empathy for who can't live any further than ... dunno ... Detroit MN?
glb
 
this is supposed to be a surprise, but it smells like a tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic