У меня есть следующий код, который добавляет имя и фамилию на предопределенное изображение.Как отправить изображение, созданное с помощью php
function create_image($fname, $lname)
{
$image = imagecreatefromjpeg('sample.jpg');
$color = imagecolorallocate($image, 255, 255, 255);
$font_path = '../fonts/GSMT.TTF';
$font_size = 18;
$first_name = $name;
$last_name = $lname;
$name = $fname." ". $lname;
// Print Text On Image
imagettftext($image, $font_size, 0, 100, 160, $color, $font_path, $name);
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
}
Я использую следующий сценарий электронной почты;
function mailer($email_adrress, $registration_id)
{
$mail = new PHPMailer;
$mail->isSMTP(); // set mailer to use SMTP
$mail->Host = 'mail.server.com'; // set mail server
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'password'; // SMTP password
$mail->Port = 587; // TCP port to connect to
$mail->IsHTML(true);
$mail->From = '[email protected]';
$mail->FromName = 'John Doe'; // from name
$mail->addAddress($email_adrress); // recipient
$mail->Subject = 'emailer';
$mail->Body = "Congratulations you have been Successfully registered.
if(!$mail->send())
{
die("error mail not sent);
}
}
Когда функция create_image называется, изображение создается успешно. Но мой вопрос заключается не в том, чтобы распечатать изображение в браузере, как мне его отправить. Должен ли я временно сохранять изображение до отправки почты, а затем удалить его, или есть другой подход?
Вы можете [вставлять изображения base64] (http://stackoverflow.com/questions/1207190/embedding-base64-i маги). Большинство браузеров могут это интерпретировать. Кроме того, пользователю не нужно нажимать «просматривать изображения» в своем клиенте электронной почты/веб-почты. – machineaddict