Я видел этот отличный вопрос и ответ в StackOverflow о встраивании изображения в электронное письмо.К сожалению, ответчик не объяснил, как разбить письмо с границей - он сказал, что не знает, для чего эта граница.
Вот что я пытался:
v_body := '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body bgcolor="#ffffff" text="#000000">
<img src="data:image/jpg;base64,------------090303020209010600070908' || v_image || '------------090303020209010600070908" />
</body>
</html>';
utl_mail.send('myemail.example.com',
'myemail.example.com',
null,
null,
'Image attachment test',
v_body,
'multipart/related; boundary="------------090303020209010600070908"',
null);
Он отправляет строку base64 в виде необработанных символов вместо преобразования ее в изображение.
Затем я попытался:
v_body := 'This is a multi-part message in MIME format.
--------------090303020209010600070908
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body bgcolor="#ffffff" text="#000000">
<img src="cid:part1.06090408.01060107" alt="">
</body>
</html>
--------------090303020209010600070908
Content-Type: image/png;
name="moz-screenshot.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.06090408.01060107>
Content-Disposition: inline;
filename="moz-screenshot.png"
' || v_image || '
--------------090303020209010600070908-- ';
utl_mail.send('myemail.example.com',
'myemail.example.com',
null,
null,
'Image attachment test',
v_body,
'multipart/related; boundary="------------090303020209010600070908"',
null);
В этот раз содержимое электронного письма не было видно.
Итак, как мы можем разделить электронное письмо с MIME-типом, состоящим из нескольких частей, используя границу в Oracle?