В примере демонстрируется возможность отправки сообщений, с вложенным изображением, используя gmail аккаунт.
Примере используется PHP + Java код, написанный в сервисе скриптинга
Создадим базовый скрипт на языке Java, который отправляет письма через gmail. Назовем его
JavaMailSender.
java:
import java.net.URL;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.URLDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.net.MalformedURLException;
public class JavaMailSender{
private String GMAIL_SMTP_AUTH_USER = "tester@hivext.net";
private String GMAIL_SMTP_AUTH_PWD = "tester";
private String GMAIL_SMTP_HOST = "smtp.gmail.com";
private int GMAIL_SMTP_PORT = 465;
private String GMAIL_FROM_ADDRESS = "Tester@Hivext.Tech <" + GMAIL_SMTP_AUTH_USER + ">";
public void sendFromGmail(String to) throws MessagingException, MalformedURLException {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props);
MimeMessage msg = new MimeMessage(session);
msg.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject("Test Message", "UTF-8");
msg.setFrom(new InternetAddress(GMAIL_FROM_ADDRESS));
msg.setSentDate(new Date());
String img = "http://www.ece.ubc.ca/~hct/research/hive496/hive.jpg";
String body = "Test Hive mesage <img src=\""+img+"\">";
Multipart mp = new MimeMultipart("related");
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(body, "text/html; charset=utf8");
mp.addBodyPart(htmlPart);
BodyPart imgPart = new MimeBodyPart();
DataSource source = new URLDataSource(new URL(img));
imgPart.setDataHandler(new DataHandler(source));
imgPart.setHeader("Content-type", "image/jpg; name=\"hive.jpg\"");
imgPart.setHeader("Content-Location", img);
mp.addBodyPart(imgPart);
msg.setContent(mp);
msg.setSentDate(new Date());
msg.saveChanges();
Transport transport = session.getTransport("smtps");
transport.connect(GMAIL_SMTP_HOST, GMAIL_SMTP_PORT, GMAIL_SMTP_AUTH_USER, GMAIL_SMTP_AUTH_PWD);
transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
Указанный скрипт использует стандартный JavaMailAPI.
Закачаем через FTP файл библиотеки
mail.jar в каталог /lib в директории с ресурсами. После загрузки платформа автоматически подключит его к проекту.

Теперь будет использовать этот скрипт в PHP через импорт ранее созданного скрипта
php:
<?php
new com.hivext.scripting.JavaMailSender()->sendFromGmail("my_email@gmail.com");
return "success";
?>