"Content-ID" in email attachments
@Sudesh After apply the patch, I used a token, because i needed a custom field in the image, maybe works for you(the answer don't fit in comment :S)

The cid require a mail format for example foo@ba.org

hook_civicrm_tokenValues( &amp;$values, $cids, $job = null, $tokens = array(), $context = null ) {
...
 $values[$key]["xxx.app_signature"] = '&lt;img alt="Embedded Image" src="cid:foo@ba.org" &gt;' . '&lt;tagimagetoken&gt;' . $config-&gt;customFileUploadDir . $result_image["uri"] . '&lt;/tagimagetoken&gt;';


And later replace the token with correct value in the mail hook

hook_civicrm_alterMailParams(&amp;$params, $context) {  
  $regex = "/&lt;\s*tagimagetoken[^&gt;]*&gt;([^&lt;]*)&lt;\s*\/\s*tagimagetoken\s*&gt;/";
  preg_match_all($regex, $params["html"], $output);      
  if(isset($output[1][0])) {  
    $params["html"] = preg_replace ( $regex , "" ,  $params["html"]); 
    $params["attachments"][] =  array(
      'fullPath' =&gt; $output[1][0],      
      'content_id' =&gt; "foo@ba.org",
      'c_type' =&gt; "image/png",
      'is_file' =&gt; TRUE,
      'is_image' =&gt; TRUE,
    );      
  }   
}


And in the email put the token