I will first note that Parallel.ForEach should NOT be used with async methods unless you understand the inner-workings of how it works AT ALL. Generally Parallel.Foreach is prescribed for the execution of slow processes only, and your implementation will actually be slower due to the relative simple complexity of what you're trying to do.
Now, to answer your question:
is SendEmailAsync available for parallel method?
I'd reference @O.Jones' answer as the SmtpClient can only handle one send at a time.
For I/O-bound tasks like sending email, you do not want to use Parallel. This goes double if you're running on ASP.NET. Also, you don't want to use new Thread unless you're doing COM interop.
Now, if you want to do it concurrently, then you'll want to use Task.WhenAll. It also has the benefit of observing all failures but that can be better explained through other threads.