精华内容
参与话题
问答
  • Email

    千次阅读 2018-03-02 15:41:00
    C#邮件发送



       public static void SendMail(string emsg)
            {
                string host = "smtp.163.com";
                string username = "...@163.com";
                string pwd = "....";
                string formsb = "...";//接受
                string fromcc = "...";//抄送
               
    
                SmtpClient sc = new SmtpClient(host);
                sc.DeliveryMethod = SmtpDeliveryMethod.Network;
                sc.UseDefaultCredentials = true;
                sc.Credentials = new System.Net.NetworkCredential(username, pwd);
    
                string subject = "标题";
                string body = "正文";
    
                MailMessage msg = new MailMessage();
                msg.From = new MailAddress(username, "程序提醒");
                msg.To.Add(formsb);
                if (!string.IsNullOrEmpty(fromsc))
                    msg.CC.Add(fromsc); //抄送人
    
                msg.BodyEncoding = Encoding.UTF8;
                msg.Subject = subject;
                msg.Body = body;
                msg.IsBodyHtml = true;
                msg.Priority = MailPriority.High;
    
                try
                {
                    sc.Send(msg);
                    Console.WriteLine("发送成功!");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }



    展开全文
  • python发邮件详解,smtplib和email模块详解

    万次阅读 多人点赞 2018-09-06 18:20:56
    在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理。SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它...

    在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理。SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式,python实现发邮件也是基于此基础上进行封装的。

    1.python发邮件所需要的基础包

    python发送邮件需要用到python自带的两个模块,smtplib和email。直接import导入,无需下载。
    python的smtplib提供了一种很方便的途径发送电子邮件,它对smtp协议进行了简单的封装。

    2.smtplib的用法

    smtplib用法相对来说很简单,就是分为两步。

    • 创建SMTP的操作对象并连接smtp目标服务器,可以是163、QQ等
    • 根据自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码)
    • 调用对象中的方法,发送邮件到目标地址

    python与smtp服务器之间的具体交互的通用代码:

    import smtplib
    server = smtplib.SMTP(mailserver, port)  # 发件人邮箱中的SMTP服务器,端口是25
    server.login(sender, passwd)  # 发件人邮箱账号、邮箱授权码
    # msg.as_string()中as_string()是将msg(MIMEText或MIMEMultipart对象)变为str。
    server.sendmail(sender, receive, msg.as_string())  
    server.quit()

    具体的python连接目标服务器的代码如下:注:本文章用的是qq的smtp服务器。
    常用邮箱的smtp服务器地址:
    新浪邮箱:smtp.sina.com,搜狐邮箱:smtp.sohu.com,qq邮箱:smtp.qq.com

    sender_maile='80617252@qq.com' # 发送方的邮箱地址
    sender_pass = 'lsjdfsljdfk' # 邮箱提供的授权码,可在第三方登录,我这个是随便打的。
    sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
    sftp_obj.login(sender_mail, sender_pass)
    #三个参数分别是:发件人邮箱账号,收件人邮箱账号,发送的邮件体
    sftp_obj.sendmail(sender_mail, receiver_mail, msg_root.as_string())
    sftp_obj.quit()
    3.email模块的详细理解和使用

    email模块下的mime模块下有常用的三个模块,三个模块中有三个大类。其实就是下边这三个了,说的很绕,下边为导入方式,一目了然。

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

    简单说下他们的关系,如果构造一个MIMEText对象,就表示一个文本邮件对象,如果构造一个MIMEImage对象,就表示一个作为附件的图片对象,要把多个对象组合起来,就用MIMEMultipart对象,他代表的是整个邮件。这样说应该还不是很清晰,下边就分开来说,最后会总的总结,在最后边就是完整的代码(可以发送一切内容的代码)。

    A.MIMEText对象中有三个需要我们设置的参数,一个是正文内容,一个是正文内容的类型,例如:”text/plain”和”text/html”,一个是正文内容的编码。

    构造普通文本:

    text_info = 'hello world '
    text_sub = MIMEText(text_info,'plain', 'utf-8')  

    构造超文本:

    url = "https://blog.csdn.net/chinesepython"
    html_info = """
        <p>点击以下链接,你会去向一个更大的世界</p>
        <p><a href="%s">click me</a></p>
        <p>i am very glasses for you</p>
        """ % url
    html_sub = MIMEText(html_info, 'html', 'utf-8')  
    # 如果不加下边这行代码的话,上边的文本是不会正常显示的,会把超文本的内容当做文本显示
    html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"'

    构造base64数据流,用于发送文件的时候使用,构造附件代码:

    txt_file = open(r'D:\python_files\files\hello_world.txt', 'rb').read()
    txt = MIMEText(txt_file, 'base64', 'utf-8')
    txt["Content-Type"] = 'application/octet-stream'
    # 命名发送的附件
    txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')
    B.MIMEImage对象中只需要把读取的文件传入就行

    构造图片:

    image_file = open(r'D:\python_files\images\test.png', 'rb').read()
    image = MIMEImage(image_file)
    image.add_header('Content-ID', '<image1>')
    # 命名发送的图片
    image["Content-Disposition"] = 'attachment; filename="red_people.png"'
    C.MIMEMultipart对象创建的类型有三种,此模块主要是通过attach方法把上边构造的内容传入到邮件的整体内容中。
    • 邮件类型为”multipart/alternative”的邮件正文中包括纯文本正文(text/plain)和超文本正文(text/html)。
    • 邮件类型为”multipart/related”的邮件正文中包括图片,声音等内嵌资源。
    • 邮件类型为”multipart/mixed”的邮件包含附件,图片,文本等都可以添加,所以发的内容多的话一般是用这个的,选择mixed类型,什么内容都可以发。
    3.邮件头添加内容

    直接上示例代码:

    from email.mime.multipart import MIMEMultipart
    
    
    msg_root = MIMEMultipart('mixed')
    # 发件人
    msg_root['From'] = 'aaa@qq.com<aaa@qq.com>'
    # 收件人
    msg_root['To'] = '666666@qq.com'
    # 邮件主题
    subject = 'python sendemail test successful'
    msg_root['subject'] = Header(subject, 'utf-8')
    
    4.特别的用法说明:

    注:以下的msg_root为:
    msg_root = MIMEMultipart(‘mixed’)

    msg_root.as_string()是将msg_root对象变为str。
    msg_root.attach(MIMEText或者MIMEImage对象),因为MIMEMultipart对象代表邮件本身,其他连个是代表邮件正文,所以这个方法还是很强大的,把其他的构造内容添加到MIMEMultipart对象中就可以把文本,html,附件等一起发送了。

    5.发送各种内容的具体代码实现:

    所有代码合到一块,发送文本,html,图片,txt内容,用的时候你可以把需要的部分摘出来,也就是把没有加入到msg_root的对象拿出来,直接通过下边命令发送,例如只发送文本。
    sftp_obj.sendmail(sender_mail, receiver_mail, text_sub.as_string())。

    import smtplib
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    
    
    def send_email_by_qq(to):
        sender_mail = '80617252@qq.com'
        sender_pass = 'aljflsjdf'#同样是乱打的
    
        # 设置总的邮件体对象,对象类型为mixed
        msg_root = MIMEMultipart('mixed')
        # 邮件添加的头尾信息等
        msg_root['From'] = '80617252@qq.com<80617252@qq.com>'
        msg_root['To'] = to
        # 邮件的主题,显示在接收邮件的预览页面
        subject = 'python sendemail test successful'
        msg_root['subject'] = Header(subject, 'utf-8')
    
        # 构造文本内容
        text_info = 'hello world'
        text_sub = MIMEText(text_info, 'plain', 'utf-8')
        msg_root.attach(text_sub)
    
        # 构造超文本
        url = "https://blog.csdn.net/chinesepython"
        html_info = """
        <p>点击以下链接,你会去向一个更大的世界</p>
        <p><a href="%s">click me</a></p>
        <p>i am very galsses for you</p>
        """% url
        html_sub = MIMEText(html_info, 'html', 'utf-8')
        # 如果不加下边这行代码的话,上边的文本是不会正常显示的,会把超文本的内容当做文本显示
        html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"'   
        # 把构造的内容写到邮件体中
        msg_root.attach(html_sub)
    
        # 构造图片
        image_file = open(r'D:\python_files\images\test.png', 'rb').read()
        image = MIMEImage(image_file)
        image.add_header('Content-ID', '<image1>')
        # 如果不加下边这行代码的话,会在收件方方面显示乱码的bin文件,下载之后也不能正常打开
        image["Content-Disposition"] = 'attachment; filename="red_people.png"'
        msg_root.attach(image)
    
        # 构造附件
        txt_file = open(r'D:\python_files\files\hello_world.txt', 'rb').read()
        txt = MIMEText(txt_file, 'base64', 'utf-8')
        txt["Content-Type"] = 'application/octet-stream'
        #以下代码可以重命名附件为hello_world.txt  
        txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')
        msg_root.attach(txt)
    
        try:
            sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
            sftp_obj.login(sender_mail, sender_pass)
            sftp_obj.sendmail(sender_mail, to, msg_root.as_string())
            sftp_obj.quit()
            print('sendemail successful!')
    
        except Exception as e:
            print('sendemail failed next is the reason')
            print(e)
    
    
    if __name__ == '__main__':
        # 可以是一个列表,支持多个邮件地址同时发送,测试改成自己的邮箱地址
        to = '666666@qq.com'
        send_email_by_qq(to)
    6.总结

    为了让不是很理解发邮件的朋友能更好的理解,在这里是把所有的参数都写死了,比如说发送文件的具体内容,在真正开发使用过程中,可以把具体的内容通过预留出来参数去传入之后发送你想要发送的内容。
    发邮件功能还是很实用的,在真正的开发中或者大多数场合都能用到,比如说项目中一个重要的模块如果出问题了,你需要第一时间知道,就可以加入这个功能,把项目出问题报的具体内容发到你的邮箱,也可以第一时间想下处理的对策。
    下面以我通过此程序发送的邮件内容的截图做结尾吧。
    这里写图片描述

    展开全文
  • File "C:\Users\wenrui\AppData\Local\Temp\pip-install-zuekqdy0\email\email\parser.py", line 10, in from cStringIO import StringIO ModuleNotFoundError: No module named 'cStringIO' --------------...
  • File "C:\Users\111\AppData\Local\Temp\pip-install-i6c6xiar\email\email\parser.py", line 10, in from cStringIO import StringIO ModuleNotFoundError: No module named 'cStringIO' -----------------...
  • javascript验证email

    千次阅读 2004-11-02 18:22:00
    testfunction emailCheck () {var emailStr=document.all.form1.tel.value;alert(emailStr);var emailPat=/^(.+)@(.+)$/;var matchArray=emailStr.match(emailPat);if (matchArray==null) { alert("电子邮件地址...

    <html>
    <head>
    <title>test</title>
    <script language="javascript">
    function emailCheck () {
    var emailStr=document.all.form1.tel.value;
    alert(emailStr);
    var emailPat=/^(.+)@(.+)$/;
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
     alert("电子邮件地址必须包括 ( @ 和 . )")
     return false;
    }
    return true;
    }
    </script>
    </head>

    <body>
    <form name="form1">
    <input type="text" name="tel"/>
    <input type="button" value="press" οnclick="emailCheck()"/>
    </form>


    </span>
    </body>
    </html>

    展开全文
  • Yahoo Email VS 163 Email

    千次阅读 2012-08-14 21:17:14
    Yahoo Email里太多了垃圾邮件,也不知道是yahoo不愿意过滤呢,还是技术上不行呢,什么Yahoo12条,估计背后有其他缘由。 163 感觉 功能太多,让我一下都不知道怎样,总体省去了我每天删除大量的垃圾邮件,赞一下

    Yahoo Email里太多了垃圾邮件,也不知道是yahoo不愿意过滤呢,还是技术上不行呢,什么Yahoo12条,估计背后有其他缘由。


    163 感觉 功能太多,让我一下都不知道怎样,总体省去了我每天删除大量的垃圾邮件,赞一下




    展开全文
  • 默认是在判断不是email格式的什么,输入框变红色,现在想要在判断不是email格式的时候让输入框后面多一个红色的叉叉。也就是随便弄个样式,不用默认的 各位大神请看好题目在回答,我不是为了要成功验证email,...
  • 【场景描述】: 做房地产放盘模块时,当交易状态表更或者独家代理过期后我们需要邮件通知置业顾问和相关的stakeholder,由于具体需求还未定,索性开发了针对所有邮件类型模板的工具类,以便后续复用。...
  • Email开发初步总结

    千次阅读 2014-04-15 00:21:50
    早就听说Java Mail为JavaEE的规范之一,是为发送接受邮件而制定的规范。从这里就可以看出邮件在这个邮件行业,更或所有行业所起着举足轻重的作用。在公司中,工作中对邮件的使用,就好比我们日常生活中对电话的使用...
  • 年少痴狂,怀恋曾经的创业岁月,语音识别的应用远远未到高潮,本人的软件源码开源,需要的留下Email,我给大家发 本人大学时代激情四射,活力太足,同时也不太懂得这个社会的商业规则,大学时代的激情已经退去,想念...
  • R语言发email

    万次阅读 2016-03-22 00:10:37
    最近用大型机运行R, 运行时间很长, 不知道什么时候跑完. 发现一个好用的包 mailR(https://github.com/rpremraj/mailR), 其实也可以用飞信的API 给自己发短信(都是非官方的, 以前用过, 今天再看都过期了)....
  • Cursor email = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, Data.CONTACT_ID + " =" + id, null, null); while (email.moveToNext()) { emailAdd = email.getString...
  • 给定一个Email地址,判断其是否合法。Email地址的格式要求如下: (1)Email地址包含2个部分,分别是用户名和域名,中间用符号“@”分隔,且要求用户名和域名均至少有1个字符。 (2)用户名和域名只能由大小写字母、0至9...
  • 临时邮箱email网址收集

    万次阅读 2018-07-26 18:44:00
    名称 地址 10 分钟邮箱 https://temp-mail.org/zh/ 10 分钟邮箱 https://10minutemail.net/?lang=zh-cn 60 分钟邮箱 https://www.guerrillamail.com/zh/ 60 分钟邮箱 ... ...
  • 我的这个js function验证email格式和传统的一样,但是现在发现程序要求并没有说email是not null, 所以怎么写js才能验证email: 1. email 为空时跳过 2. email不为空时验证格式。 比较苦恼,请各位大神解答怎么写这个...
  • commons-email-1.2.jar/email.jar/activation.jar

    千次下载 热门讨论 2012-05-07 11:53:22
    用commons-email-1.2.jar 发送邮件的三个jar 文件
  • email】android邮件Email

    千次阅读 2013-06-21 16:13:44
    http://developer.android.com/intl/zh-CN/reference/packages.html 发送邮件的类和方法 官网地址: http://developer.android.com/intl/zh-CN/reference/android/content/Intent.html ...
  • springboot-mysql-email集成

    万次阅读 2020-05-24 22:55:38
    springboot发送邮件案例 邮件jar配置: <!-- mail --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail<...#jndi propert...
  • Java Email

    万次阅读 2013-09-27 15:50:01
    1.简单电子邮件例子之二: ...Email email = new SimpleEmail(); email.setHostName("smtp.qq.com");//qq email.setSmtpPort(465);//iport email.setAuthenticator(new DefaultAuthenticator("fromUser
  • MTK email

    千次阅读 2011-03-16 21:09:00
      Email 主要compile option 如下: EMAIL_SUPPORT = ALL SSL 主要compile option 如下: SSL_SUPPORT SOCKET_SSL_SUPPORT SECLIB_SUPPORT   打开Email 功能的同时...
  • moodle email

    千次阅读 2011-05-02 02:36:00
    2. go to "Site administration > server > email" 3. fill in following settings  SMTP hosts: smtp.gmail.com:465<br />  SMTP username: xxx@gmail.com<br />  SMTP password: xxx 4....
  • 发送Email

    千次阅读 2011-01-05 00:05:00
    Uri uri = Uri.parse("mailto:xxx@abc.com"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); startActivity(it);...intent.putExtra(Intent.EXTRA_EMAIL, address); intent.
  • email验证

    千次阅读 2004-11-17 16:13:00
    function IsValidEmail(email) dim names, name, i, c IsValidEmail = true names = Split(email, "@") if UBound(names) IsValidEmail = false exit function end if for each name in names if Len(name)
  • linux shell 发送email 邮件

    万次阅读 2011-09-14 21:21:32
    方法一:简单邮件发送 echo “hello world" | mail -s "Subject" yanggang_2050@163.com 效果截图 方法二: 文本格式发送邮件 # !/bin/sh from_name="from@yanggan
  • 签名格式 - 职场 Email 礼仪

    万次阅读 多人点赞 2014-09-26 11:49:30
    作为一名研发人员,算的上是一名职业人士,必定拥有使用公司域名的邮箱。现如今,可能已经找不到没有电子邮箱的网民了。职业人士利用公司邮箱发送 邮件与私人信件有着很大区别,这是一个职场邮件礼仪的问题。...
  • linux shell 发送email 附件

    万次阅读 2011-09-16 15:34:18
    方法一:发送单个附件(正文乱码) mutt -s "mail subject" -a output_email.html -- tomail@163.com 或者 cat output_email.html | mutt -s "mail subject" -a ou
  • 检查email格式并确保email唯一

    千次阅读 2018-05-07 14:01:39
    $panelBefore.find('.email-input').on('input', function () { var $this = $(this), $subEmail = $panelBefore.find('.submit-newemail'), ...
  • python里的email.py中那个self.get()到底是怎么运作的。 因为用self.get('subject')来抓主题,然后发现有的邮件抓不到主题。 但是邮件用记事本打开又看得到‘Subject:’,用outlook打开也看得到。 然后就看...
  • 需要检验tb中储存email地址的字段(字段名位ContactEmail)的有效性,生成包含所有有效email地址的记录的视图,应该如何进行?纠结的问题有以下几点: 1:使用正则表达式,但是似乎MS SQL不支持?还是2008已经支持...
  • 使用azure send grid发送email

    千次阅读 2016-03-17 14:39:08
    1. create a send grid account2. remember the username/password of the send grid account3. install sendgrid nuget pkg4. get keymanage ->it will redirect you to manage portalcreate a new api key:4....

空空如也

1 2 3 4 5 ... 20
收藏数 120,426
精华内容 48,170
关键字:

email