要在邮件正文PHP中添加图像吗

要在邮件正文PHP中添加图像吗,php,email,yii,Php,Email,Yii,这是我用来在邮件正文中发送图像的代码 $message2 .= '<div style = "color: white; padding: 5px;"></div></div>'; # Open a file $url = realpath(Yii::app()->theme->basePath) . "/images/Male-icon.png"; $file = fopen($url, "r"); if

这是我用来在邮件正文中发送图像的代码

    $message2 .= '<div style = "color: white; padding: 5px;"></div></div>';

    # Open a file
    $url = realpath(Yii::app()->theme->basePath) . "/images/Male-icon.png";
    $file = fopen($url, "r");
    if ($file == false) {
        echo "Error in opening file";
        exit();
    }
    # Read the file into a variable
    $size = filesize($url);
    $content = fread($file, $size);

    # encode the data for safe transit
    # and insert \r\n after every 76 chars.
    $encoded_content = chunk_split(base64_encode($content));

    # Get a random 32 bit number using time() as seed.
    $num = md5(time());

    # Define the main headers.
    $header = "From:xyz@somedomain.com\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; ";
    $header .= "boundary=$num\r\n";
    $header .= "--$num\r\n";

    # Define the message section
    $header .= "Content-Type: text/html\r\n";
    $header .= "Content-Transfer-Encoding:8bit\r\n\n";
    $header .= "$message2\r\n";
    $header .= "--$num\r\n";

    # Define the attachment section
    //$header .= "Content-Type:  multipart/mixed; ";
    $header .= "Content-Type:  image/jpeg; ";
    $header .= "name=\"Male-icon.png\"\r\n";
    $header .= "Content-Transfer-Encoding:base64\r\n";
    $header .= "Content-Disposition:attachment; ";
    $header .= "filename=\Male-icon.png\"\r\n\n";
    $header .= "$encoded_content\r\n";
    $header .= "--$num--";

    # Send email now
    $retval = mail($to, $subject, "", $header);
    if ($retval == true) {
        echo "Message sent successfully...";
    } else {
        echo "Message could not be sent...";
    }
$message2.='';
#打开一个文件
$url=realpath(Yii::app()->theme->basePath)。“/images/Male icon.png”;
$file=fopen($url,“r”);
如果($file==false){
echo“打开文件时出错”;
退出();
}
#将文件读入变量
$size=filesize($url);
$content=fread($file,$size);
#对数据进行编码以确保安全传输
#并在每76个字符后插入\r\n。
$encoded_content=块分割(base64_encode($content));
#使用time()作为种子获取随机32位数字。
$num=md5(time());
#定义主标题。
$header=“From:xyz@somedomain.com\r\n“;
$header.=“MIME版本:1.0\r\n”;
$header.=“内容类型:多部分/混合;”;
$header.=“边界=$num\r\n”;
$header.=“--$num\r\n”;
#定义消息部分
$header.=“内容类型:text/html\r\n”;
$header.=“内容传输编码:8位\r\n\n”;
$header.=“$message2\r\n”;
$header.=“--$num\r\n”;
#定义附件部分
//$header.=“内容类型:多部分/混合;”;
$header.=“内容类型:图像/jpeg;”;
$header.=“名称=\”男性图标.png\“\r\n”;
$header.=“内容传输编码:base64\r\n”;
$header.=“内容处置:附件;”;
$header.=“filename=\Male icon.png\”\r\n\n”;
$header.=“$encoded\u content\r\n”;
$header.=“--$num--”;
#立即发送电子邮件
$retval=mail($to,$subject,“,$header);
如果($retval==true){
回显“消息已成功发送…”;
}否则{
回显“无法发送消息…”;
}

我正在使用简单的邮件功能在邮件正文中发送图像。这有助于解决我的问题。在gmail中,它自动添加了下划线,图像无法查看。请指导我如何在邮件正文中发送图像。

为什么要使用编码内容?只需使用img标记的src属性中的图像完整url。例如,我也在使用此功能,但不起作用$message2.='theme->basePath)。'/images/Male-icon.png“width=“30px;”“/>iqloads.com”;不要使用realpath,使用完整的url,如。。。。。