The regex: /email.+?\b(\S+@\S+)/i
Working Example
in php:
preg_match_all("/email.+?\b(\S+@\S+)/i", $input_lines, $output_array);
$output_array[1] will now contain your email addresses
I removed the m flag - as this changes the way $ and ^ work which are not being used.
The breakdown of this is as follows:
- emailthis just matches the text- email- the i after the final- /makes it not care about case
- .+?will match any character other than new line one or more times, but matching as few characters as possible see Regex Laziness
- \bwill match a word boundary - that is between a word character and a non word character - see Word boundaries
- (starts a capturing group - because this is the first one, this is why it is found in- $output_array[1], if you had a second any matches would be in- $output_array[2]- 
- \S+matches anything that isn't whitespace one or more times
- @matches the '@' character
- \S+matches anything that isn't whitespace one or more times
 
- )this closes the capturing group
We could start a huge debate over whether \S@\S is the best way to match an email address - I think its good enough for this purpose, but if you want to go down the rabbit hole see here: Using a regular expression to validate an email address