If you loop the function so that each mail is set individually then you should not get any problems. I woudnt advise sending one email to 300-400 address though.
If anything it may timeout (if you have a slow system), but you can increase the timeout anyway.