精华内容
参与话题
问答
  • smtp发邮件

    千次阅读 2017-10-11 14:09:05
    java smtp 发送邮件
    public class Main {
    
        // 发件人的 邮箱 和 密码(替换为自己的邮箱和密码)
        // PS: 某些邮箱服务器为了增加邮箱本身密码的安全性,给 SMTP 客户端设置了独立密码(有的邮箱称为“授权码”), 
        //     对于开启了独立密码的邮箱, 这里的邮箱密码必需使用这个独立密码(授权码)。
        public static String myEmailAccount = "xu_java@sina.com";
        public static String myEmailPassword = "asd182429";
    
        // 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com
        // 网易163邮箱的 SMTP 服务器地址为: smtp.163.com
        public static String myEmailSMTPHost = "smtp.sina.com";
    
        // 收件人邮箱(替换为自己知道的有效邮箱)
        public static String receiveMailAccount = "990358966@qq.com";
    
        public static void main(String[] args) throws Exception {
            // 1. 创建参数配置, 用于连接邮件服务器的参数配置
            Properties props = new Properties();                    // 参数配置
            props.setProperty("mail.transport.protocol", "smtp");   // 使用的协议(JavaMail规范要求)
            props.setProperty("mail.smtp.host", myEmailSMTPHost);   // 发件人的邮箱的 SMTP 服务器地址
            props.setProperty("mail.smtp.auth", "true");            // 需要请求认证
    
            // PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接, 也可以自己开启),
            //     如果无法连接邮件服务器, 仔细查看控制台打印的 log, 如果有有类似 “连接失败, 要求 SSL 安全连接” 等错误,
            //     打开下面 /* ... */ 之间的注释代码, 开启 SSL 安全连接。
            /*
            // SMTP 服务器的端口 (非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了 SSL 连接,
            //                  需要改为对应邮箱的 SMTP 服务器的端口, 具体可查看对应邮箱服务的帮助,
            //                  QQ邮箱的SMTP(SLL)端口为465或587, 其他邮箱自行去查看)
            final String smtpPort = "465";
            props.setProperty("mail.smtp.port", smtpPort);
            props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.setProperty("mail.smtp.socketFactory.fallback", "false");
            props.setProperty("mail.smtp.socketFactory.port", smtpPort);
            */
    
            // 2. 根据配置创建会话对象, 用于和邮件服务器交互
            Session session = Session.getDefaultInstance(props);
            session.setDebug(true);                                 // 设置为debug模式, 可以查看详细的发送 log
    
            // 3. 创建一封邮件
            MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount);
    
            // 4. 根据 Session 获取邮件传输对象
            Transport transport = session.getTransport();
    
            // 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错
            // 
            //    PS_01: 成败的判断关键在此一句, 如果连接服务器失败, 都会在控制台输出相应失败原因的 log,
            //           仔细查看失败原因, 有些邮箱服务器会返回错误码或查看错误类型的链接, 根据给出的错误
            //           类型到对应邮件服务器的帮助网站上查看具体失败原因。
            //
            //    PS_02: 连接失败的原因通常为以下几点, 仔细检查代码:
            //           (1) 邮箱没有开启 SMTP 服务;
            //           (2) 邮箱密码错误, 例如某些邮箱开启了独立密码;
            //           (3) 邮箱服务器要求必须要使用 SSL 安全连接;
            //           (4) 请求过于频繁或其他原因, 被邮件服务器拒绝服务;
            //           (5) 如果以上几点都确定无误, 到邮件服务器网站查找帮助。
            //
            //    PS_03: 仔细看log, 认真看log, 看懂log, 错误原因都在log已说明。
            transport.connect(myEmailAccount, myEmailPassword);
    
            // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
            transport.sendMessage(message, message.getAllRecipients());
    
            // 7. 关闭连接
            transport.close();
        }
    
        /**
         * 创建一封只包含文本的简单邮件
         *
         * @param session 和服务器交互的会话
         * @param sendMail 发件人邮箱
         * @param receiveMail 收件人邮箱
         * @return
         * @throws Exception
         */
        public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
            // 1. 创建一封邮件
            MimeMessage message = new MimeMessage(session);
    
            // 2. From: 发件人
            message.setFrom(new InternetAddress(sendMail, "徐伟", "UTF-8"));
    
            // 3. To: 收件人(可以增加多个收件人、抄送、密送)
            message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "SSS", "UTF-8"));
    
            // 4. Subject: 邮件主题
            message.setSubject("CESHI", "UTF-8");
    
            // 5. Content: 邮件正文(可以使用html标签)
            message.setContent("CSDFE", "text/html;charset=UTF-8");
    
            // 6. 设置发件时间
            message.setSentDate(new Date());
    
            // 7. 保存设置
            message.saveChanges();
    
            return message;
        }
    
    }
    展开全文
  • SMTP发邮件

    2017-04-24 16:59:57
    [url=http://blog.csdn.net/adeyi/article/details/19421951] Spring中javaMail通过SMTP发送邮件 [/url] [url=http://www.codejava.net/frameworks/spring/sending-e-mail-with-spring-mvc]Sending e-mail with ...
    [url=http://blog.csdn.net/adeyi/article/details/19421951] Spring中javaMail通过SMTP发送邮件 [/url]

    [url=http://www.codejava.net/frameworks/spring/sending-e-mail-with-spring-mvc]Sending e-mail with Spring MVC[/url]


    [url]http://jiangzhenghua.iteye.com/blog/333944[/url]

    1、如果是maven项目,需要引入依赖包

    [html] view plain copy
    在CODE上查看代码片派生到我的代码片

    <dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.4</version>
    </dependency>

    2、在项目加载的basic.xml中,配置两个bean:JavaMailSenderImpl和SimpleMailMessage,在后续发送邮件中通过这两个类进行发送。

    [html] view plain copy
    在CODE上查看代码片派生到我的代码片

    <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" >
    <value>----</value>
    </property>
    <property name="port" >
    <value type="java.lang.Integer">----</value>
    </property>
    <property name="protocol">
    <value>smtps</value>
    </property>
    <property name="username">
    <value>----</value>
    </property>
    <property name="password">
    <value>----</value>
    </property>
    <!-- SMTP服务器验证 -->
    <property name="javaMailProperties">
    <props>
    <!-- 验证身份 -->
    <prop key="mail.smtps.auth">true</prop>
    <prop key="mail.smtp.ssl.enable">true</prop>
    <prop key="mail.transport.protocol">smtps</prop>
    </props>
    </property>
    </bean>

    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
    <property name="from">
    <value>${notify_service.smtp_mail.username}</value>
    </property>
    </bean>


    3、在实际发送的class里面调用
    [java] view plain copy
    在CODE上查看代码片派生到我的代码片

    private MailSender mailSender;
    private SimpleMailMessage simpleMailMessage;

    //初始化mailSender 和SimpleMailMessage 两个对象

    simpleMailMessage.setTo(sendTo);
    simpleMailMessage.setSubject(subject);
    simpleMailMessage.setText(content);
    mailSender.send(simpleMailMessage);


    另外如果是发送HTML格式的邮件 参考:http://www.blogjava.Net/fancydeepin/archive/2012/06/12/spring-smtp-mail-with-attachment_maven3.html

    [java] view plain copy
    在CODE上查看代码片派生到我的代码片

    import javax.mail.MessagingException;
    import javax.mail.internet.MimeMessage;

    import org.springframework.mail.SimpleMailMessage;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessageHelper;

    private JavaMailSender javaMailSender;
    private MimeMessage mimeMessage;
    private MimeMessageHelper mimeMessageHelper;
    private SimpleMailMessage simpleMailMessage;

    try {

    [java] view plain copy
    在CODE上查看代码片派生到我的代码片

    mimeMessage = javaMailSender.createMimeMessage();
    mimeMessageHelper = new MimeMessageHelper(mimeMessage,true,"GBK");
    mimeMessageHelper.setFrom(simpleMailMessage.getFrom());
    mimeMessageHelper.setTo(sendTo);
    mimeMessageHelper.setSubject(subject);
    mimeMessageHelper.setText(content);
    javaMailSender.send(mimeMessage);
    catch (MessagingException e) {
    e.printStackTrace();


    4、如果不用Spring直接用javamail发送

    [java] view plain copy
    在CODE上查看代码片派生到我的代码片

    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeUtility;
    import javax.mail.Session;
    import javax.mail.MessagingException;
    import javax.mail.Transport;

    public class SendHtmlMail {
    public void sendmail(){

    //创建邮件发送类 JavaMailSender
    //用于发送基本的文本邮件信息(不能包括附件,及图片)
    JavaMailSender sender = new JavaMailSenderImpl();


    //设置邮件服务主机
    ((JavaMailSenderImpl)sender).setHost("smtp.sohu.com");
    //发送者邮箱的用户名
    ((JavaMailSenderImpl)sender).setUsername("userName");
    //发送者邮箱的密码
    ((JavaMailSenderImpl)sender).setPassword("password");

    //配置文件,用于实例化java.mail.session
    Properties pro = System.getProperties();

    //登录SMTP服务器,需要获得授权,网易163邮箱新近注册的邮箱均不能授权。
    //测试 sohu 的邮箱可以获得授权
    pro.put("mail.smtp.auth", "true");
    pro.put("mail.smtp.socketFactory.port", "25");
    pro.put("mail.smtp.socketFactory.fallback", "false");

    //通过文件获取信息
    ((JavaMailSenderImpl)sender).setJavaMailProperties(pro);


    //创建基本邮件信息
    MailMessage mailMessage = new SimpleMailMessage();

    //发送者地址,必须填写正确的邮件格式,否者会发送失败
    mailMessage.setFrom("******@sohu.com");
    //邮件主题
    mailMessage.setSubject("测试邮件");
    //邮件内容,简单的邮件信息只能添加文本信息
    mailMessage.setText("测试");
    //邮件接收者的邮箱地址
    mailMessage.setTo("******@qq.com");


    //发送邮件,参数可以是数组
    //sender.send(SimpleMailMessage[])
    sender.send((SimpleMailMessage)mailMessage);

    }
    }


    5、javaMail发送HTML个是的邮件

    [java] view plain copy
    在CODE上查看代码片派生到我的代码片

    public void sendMimeMail() throws MessagingException{

    //创建邮件发送类 JavaMailSender
    //用于发送多元化邮件,包括附件,图片,html 等
    JavaMailSender mimeMailSender = new JavaMailSenderImpl();

    //设置邮件服务主机
    ((JavaMailSenderImpl)mimeMailSender).setHost("smtp.sohu.com");
    //发送者邮箱的用户名
    ((JavaMailSenderImpl)mimeMailSender).setUsername("userName");
    //发送者邮箱的密码
    ((JavaMailSenderImpl)mimeMailSender).setPassword("password");

    //配置文件,用于实例化java.mail.session
    Properties pro = System.getProperties();

    //登录SMTP服务器,需要获得授权,网易163邮箱新近注册的邮箱均不能授权。
    //测试 sohu 的邮箱可以获得授权
    pro.put("mail.smtp.auth", "true");
    pro.put("mail.smtp.socketFactory.port", "25");
    pro.put("mail.smtp.socketFactory.fallback", "false");

    ((JavaMailSenderImpl)mimeMailSender).setJavaMailProperties(pro);

    //创建多元化邮件
    MimeMessage mimeMessage = ((JavaMailSenderImpl)mimeMailSender).createMimeMessage();

    //创建 mimeMessage 帮助类,用于封装信息至 mimeMessage
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "GBK");

    //基本信息

    //发送者地址,必须填写正确的邮件格式,否者会发送失败
    helper.setFrom("*******@sohu.com");
    //邮件主题
    helper.setSubject("测试邮件");
    //邮件内容,简单的邮件信息只能添加文本信息
    helper.setText("测试");
    //邮件接收者的邮箱地址
    helper.setTo("******@qq.com");


    //多元化信息

    //添加HTML 信息
    File myPicture = new File("C:\\Documents and Settings\\Administrator\\桌面\\kz2.jpg");

    //如果是html代码,boolean 的参数用该为true
    helper.setText("<html><head><meta http-equiv="+"Content-Type"+" content="+"text/html; charset=gb2312"+"></head><body><h1>新书快递通知</h1>你的新书快递申请已推送新书,请到<a href=''>空间"
    + "</a>中查看<br><img src='cid:myPicture'></body></html>", true);

    //添加图片至HTML 代码中
    helper.addInline("myPicture", myPicture);

    //添加附件
    File file = new File("C:\\Documents and Settings\\Administrator\\桌面\\validate.jar");
    helper.addAttachment("picture", myPicture);
    helper.addAttachment("picture", file);

    ((JavaMailSender)mimeMailSender).send(mimeMessage);

    System.out.println("发送成功");
    }
    展开全文
  • smtp 发邮件

    2015-06-01 10:48:27
    ”’pythoncoding=utf-8import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipartsender = ‘xxxxxxx@qq....receivers = [

    ”’python

    coding=utf-8

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart

    sender = ‘xxxxxxx@qq.com’
    receivers = [‘2313248751@qq.com’]

    msg=MIMEMultipart()
    msg[“From”]=”power@power.com”
    msg[“To”]=”you@yourself.com”
    msg[“Subject”]=”Test smtp by s2”
    text=MIMEText(“this is text content”)
    msg.attach(text)

    try:
    smtp=smtplib.SMTP()
    smtp.connect(“smtp.qq.com”)
    smtp.login(‘xxxxxxx@qq.com’,”xxxx”)
    smtp.sendmail(sender, receivers, msg.as_string())
    print “Successfully sent email”
    except :
    print “Error: unable to send email”

    ”’

    展开全文
  • Python利用SMTP发邮件

    2017-12-24 08:41:35
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了...

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

    python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

    host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
    port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
    local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。
    给我的邮箱发送邮件;

    import random
    import string
    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    def send_email(mailAddress, mailText):
    
    
        msg = MIMEText(mailText, 'plain', 'utf-8')
        msg['From'] = formataddr(["©OmegaXYZ 2017", 'omegaxyz.com'])
        msg['To'] = formataddr([mailText, mailAddress])
        msg['Subject'] = "主题"
        try:
            server = smtplib.SMTP("smtp.163.com", 25)   #  邮箱的smtp
            server.login("xy644327005@163.com", "************")  #账号+密码
            server.sendmail('xy644327005@163.com', [mailAddress], msg.as_string())  #  账号
            server.quit()
            return True
        except:
            return False
    
    
    for _ in range(1):
        str = ''.join(random.sample(string.ascii_letters + string.digits, random.randint(20, 40)))
        # userInputEmailAdd = input("请输入你要发送的邮件地址:  ")
        userInputEmailAdd = "xxxxx@qq.com"
        # userInputEmailContent = input("请输入你想说的话:  ")
        userInputEmailContent = str
        if send_email(userInputEmailAdd, userInputEmailContent):
            print("发送成功")
        else:
            print("发送失败。。。。。")

    当然你可不要写while true发邮件哦!!!

    展开全文
  • golang smtp发邮件

    2019-07-26 11:05:23
    转自:https://www.cnblogs.com/liumuqiu/p/4846929.html 跟go语言的net/smtp斗争了一天,记录下历程。 先用最标准的例子 ...auth := smtp.PlainAuth("", username, password, hostname) to :=...
  • python smtp发邮件

    2020-06-28 16:07:50
    封装发送邮件的方法 """ import smtplib import time from email.header import Header from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from Common import Log from Conf....
  • php 封装类 可以直接拿来使用 class.phpmailer.php class.smtp.php.pop3.class
  • smtp发邮件出错

    2019-07-29 15:15:41
    自己尝试用Python的SMTP发邮件时遇到了一些问题,例如执行后报错: smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp12,EMCowAAneOEunD5d9NOgDA--.24851S2 1564384302,please see http://mail.163.com/help/ 源...
  • C#SMTP发邮件

    2019-01-14 20:00:43
    简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准。 C#邮件传输主要用到了 SmtpClient 和MailMessage 类。 SmtpClient类是客户端类,客户端的Send方法实现了发送...
  • 通过SMTP发邮件

    2015-04-25 20:42:19
    通过SMTP发邮件
  • 利用smtp发邮件

    2015-02-06 13:41:36
    小功能,备忘  MailMessage objMailMessage = new MailMessage();//引入System.Net objMailMessage.From = new MailAddress("**@sina.com");//源邮件地址 (件人地址) objMailMessage.To.Add(new MailAdd
  • python SMTP发邮件

    2019-09-26 00:12:40
    # from email.mime.text import MIMEText from email.header import Header import smtplib # sender = 'zcayyl@163.com' # 发送人的邮箱 sender = '576951284@qq.com' sender_pass = '' # 发送人的...
  • telnet Smtp发邮件

    2010-09-03 22:47:00
    SMTP可以发邮件 IMAP可以收邮件 可用的邮箱: zhuzhichao0201@sina.cn telnet smtp.sina.cn 25<br />zhuzhichao0201@163.com telnet 163.com 25<br />179338990@qq.com telnet qq....
  • php中通过smtp发邮件的类,SMTP服务器的用户邮箱 ,可以通过设置来表示是否使用身份验证。
  • php下使用SMTP发邮件的代码
  • 现在大多数主机不支持mail函数,发邮件成了问题,大部分人使用企业邮箱,那么用企业邮箱发送邮件的php代码就在这里了!
  • CentOS配置smtp发邮件

    千次阅读 2017-08-07 08:23:08
    修改/etc/mail.rc文件,在最后一行加入以下内容 1 ...set from=fromUser@donai.com #发送的邮件地址(件人) set smtp=smtp.domain.comset #smtp服务器地址 set smtp
  • python-SMTP发邮件

    千次阅读 2015-03-26 18:59:53
    # -*- coding: utf-8 -*- from email import encoders from email.header import Header from email.mime.text import MIMEText from email.MIMEMultipart import MIMEMultipart from email.utils import parseaddr
  • e.g:{ "Enable": true, "To": ["xxxxx@qq.com"], "...: "...如果此时间段内没有邮件发送,则关闭 SMTP 连接,单位/秒", "Keepalive": 60, "#do
  • .net用smtp发邮件

    2017-06-15 12:07:06
    对于.NET而言,从2.0开始,发邮件已经是一件非常easy 的事了。下面我给出一个用C#群发邮件的实例,做了比较详细的注解,希望对有需要的朋友有所help。 // 引入命名空间 using System.Net; using System.Net....
  • ASP通过SMTP发邮件

    2006-01-12 20:15:00
    &lt;% Const SMTPServerIP = "... Dim strFrom, strTo,strSuject, strBody strFrom = "... strTo = "kong123@citiz.net" strSubject = "... strBody...
  • telnet 登录SMTP发邮件

    2014-03-25 15:10:06
    telnet 登录SMTP发邮件[root@newsclub east]# telnet smtp.163.com 25 //登陆 smtp.163.com 端口号为 25Trying 202.108.44.205...Connected to smtp.163.com (202.108.44.205).Escape character is '^]'.220 163.co...

空空如也

1 2 3 4 5 ... 20
收藏数 4,045
精华内容 1,618
关键字:

smtp发邮件