Php mail function <img> tag

I’m trying to include an image(company logo) in the opening part of an email which is being sent out to subscribers using php mail function.
Everytime I include the <img> tag the emails disappear, by this I mean, when sending them, there is no apparent error, the db records them as having been sent but they never arrive.
If I remove the <img> tag everything thing works as expected, here is a code extract
Funny thing is this works as expected on another hosting company
(not sure if this is a php question or a hosting question)
any help would be greatly appreciated

<?php
include_once "connect.php";
$sql = mysql_query("SELECT * FROM engine  WHERE received='0' LIMIT 50");
$numRows = mysql_num_rows($sql);
$mail_body = '';
while($row = mysql_fetch_array($sql)){
	$id = $row["id"];
	$email = $row["email"];
	$name = $row["name"];
	
	$mail_body = '<html>

<head>
<style type="text/css">
.style1 {
	font-size: x-small;
}
</style>
</head>

<body style="background-color:#CCC; color:#000; font-family: Arial, Helvetica, sans-serif; line-height:1.8em;">
<h3><a href="http://www.mysite.com"><img src="http://www.mysite.com/newsletter/emaillogo.jpg" alt="site logo" border="0" /></a>&nbsp;
&nbsp; Summer 2013 advertising offer

Are you absolutely sure that they’re not being sent correctly and hitting some kind of spam trap somewhere along the way? Maybe one hosting company has an email server that is picking up a ‘possible junk’ flag that the other is not.

Hi droopsnoot,
thanks for the reply, sorry it took so long to answer been away for a few days,
I’m testing them by sending it to three different address and with the img tag in none are received but with only the tag removed all three are received as expected,
When I move this to another hosting server everything including the img tag processes and all are received complete with logo

The three different address are on different servers as well