使用Mail::Sender发送带图片的html邮件

需要指出的一定要保持编码的一致,否则会导致要么html乱码,或者主题乱码。如果有多个图片,可以采用多个Attach,html调用的图片名称为Attach中定义的。

效果图:

#!/usr/bin/perl
use strict;
use warnings;
use Config::Tiny;
use FindBin;
use Mail::Sender;
my $configFile = "$FindBin::Bin/config.ini";
my $configNew  = Config::Tiny->new;
my $configRead = $configNew->read($configFile);
my $configMail = $configRead->{‘mailInfo‘};
eval {
    ( new Mail::Sender )->OpenMultipart(
        {
            from        => "$configMail->{‘from‘}",
            to          => "$configMail->{‘to‘}",
            smtp        => "$configMail->{‘smtp‘}",
            auth        => ‘LOGIN‘,
            TLS_allowed => ‘0‘,
            authid      => "$configMail->{‘user‘}",
            authpwd     => "$configMail->{‘passwd‘}",
            subject     => "$configMail->{‘title‘}",
            boundary    => ‘boundary-test-1‘,
            multipart   => ‘related‘,
            encoding    => "7bit",

        }
      )->Part( { ctype => ‘multipart/alternative‘ } )->Part(
        {
            ctype       => ‘text/html;charset=utf-8‘,
            disposition => ‘NONE‘,
            msg         => <<‘*END*‘} )
<html>
    <head>
        <title>xxxxx</title>
        <style>
            h1 {font-size:20px; color: green}
        </style>
    </head>
<center>
<h1>
###图片一###</h1>
<img src="cid:img1">
</center>
</html>
*END*
->EndPart("multipart/alternative")->Attach(
        {
            description => ‘c\‘s png‘,
            ctype       => ‘image/png‘,
            encoding    => ‘base64‘,
            disposition =>
              "inline; filename=\”test.png\";\r\nContent-ID: <img1>",
            file => ‘./test.png‘
        }
  )->Close();
} or print "Error sending mail: $Mail::Sender::Error\n”;

config.ini

[mailInfo]
to = [email protected]163.com
from = [email protected]163.com
smtp = smtp.163.com
user = [email protected]163.com
passwd = pass
title = 标题
时间: 2024-10-12 15:01:05

使用Mail::Sender发送带图片的html邮件的相关文章

C#调用微博api发送带图片微博,模拟http请求

public void SendWeibo( ) { try { StringBuilder data = new StringBuilder(); string url = "https://api.weibo.com/2/statuses/upload.json";//发送带图片的接口 string t_news = "测试微博--今天天气不错"; //微博 string source = "123456"; //申请得来的微博App Key

[Java] JavaMail 发送带图片的 html 格式的邮件

JavaMail 发送的邮件正文和附件是相互独立的,但是内置图片需要定位图片在正文中的位置,所以内置图片和邮件正文是互相依赖的. 发送带附件的邮件可参考JavaMail 发送 html 格式.带附件的邮件. 发送纯文本的邮件可参照 JavaMail 简单案例. 具体例子 EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名.用户名.密码.发送人邮箱.收件人邮箱.邮件主题.html 格式的内容.图片的路径,便可发送一份内置图片的邮件.在创建 MimeMultipart

zabbix发送带图片的微信告警

zabbix发送带有图片的微信告警 2.1 实现思路 2.2 准备环境 脚本是使用python脚本,运行环境为python 2.7.5 依赖库提前安装:requests 2.3 ×××tid,secret 这部分内容,可以查看前面不带图的文章有详细描述 2.4 脚本实现 #!/usr/bin/python #coding=utf-8 _author__ = 'zhangdongdong' import requests, json import urllib3 import smtplib,sy

Powershell Mail module, 发送outbox 里的全部邮件(一个.csv文件代表一封邮件)

把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($dh)\mail\TEMPLATES\MAIL.CSV" #customization $TMP.CC ="" # $TMP.Subject ="From Server $($( get-wmiobject Win32_ComputerSystem ).Name) By

Powershell Mail module, 发送outbox 里的所有邮件(一个.csv文件代表一封邮件)

把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($dh)\mail\TEMPLATES\MAIL.CSV" #customization $TMP.CC ="" # $TMP.Subject ="From Server $($( get-wmiobject Win32_ComputerSystem ).Name) By

zabbix 发送带图片的报警信息到微信

过程比较复杂 先用curl到报警对于itemid的图片 将图片上传到微信企业号 去的微信的mediaid 在发送给客户端.代码还在整理中

python之简单邮件发送(带图片)

#!/usr/bin/env python #coding: utf-8 by guozheng_li #该脚本是以图片作为内容发送的,没加入该说明前测试是正常可用的. import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage  mailto_list=['[email prote

Python发送带附件的SMTP邮件

利用python的email模块可以很方便的发送邮件,你甚至可以在邮件中附上附件!前提是你的邮箱开启了SMTP服务(一般都开启了,如果没有开启,可以到你的邮箱中进行设置),你可以把收件人和发件人都写成一个邮箱来进行测试,这样就是自己给自己发邮件. #coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart#python2.4及之前版本该模块不是这样调用的,而是email.MIMEMultipart.MI

Android 调用系统Email发送带多附件的邮件

转自:http://www.open-open.com/lib/view/open1347005126912.html 众所周知,在Android中调用其他程序进行相关处理,都是使用的Intent.当然,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACTION_SENDTO  无附件的发送 Intent.ACTION_SEND  带附件的发送 Intent.ACTION_SEND_MULTIPLE  带有多附件的发送 当然,所谓的调用Emai