email_email java - CSDN
精华内容
参与话题
  • python email模块的使用实例

    万次阅读 2016-05-04 11:26:56
    python的email模块使用实例

    在使用python过程中,需要用的email模块来进行邮件的发送和接收,包含自定义邮件的中文、主题、日期、附件等信息,以下是我使用email模块来发送一个测试报告相关信息的邮件的例子:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    '''
    @author:freesigefei
    Created on 2016年3月20日
    Updated on 2016年5月4日
    '''
    #------------------------------------------------------------------------------------------------
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    import os,time,re
    
    def send_Test_email(mail_to):
        '''本模块实现获取最新的测试报告html文件,读取部分报告内容作为邮件正文,将报告作为附件,并发送到指定的邮箱,
            参数mail_to代表的是接收邮箱,例如:'xxx@126.com' '''
        
        #发送邮箱
        mail_from = 'yyy@sina.com'
        #发送邮件主题
        mail_subject = 'Automation Test Report'
        #发送邮箱服务器
        mail_smtpserver = 'smtp.sina.com'
        #发送邮箱用户/密码
        mail_username = 'yyy@sina.com'
        mail_password = 'yyyyyy'
    
        #定义邮件内容,中文需参数‘utf-8’,单字节字符不需要
        '''
        #发送文件形式的邮件
        msg = MIMEText('你好!','text','utf-8')
        '''
        '''
        #发送html形式以正常文本显示在邮件内容中的邮件
        msg = MIMEText('<html><h1>你好!</h1></html>','html','utf-8')
        '''
        '''
        #读取html文件内容并发送
        f=open(file_new,'rb')
        mail_body=f.read()
        f.close()
        print mail_body
        msg=MIMEText(mail_body,_subtype='html',_charset='utf-8')
        '''
        
        #创建一个带附件的邮件实例(内容)
        msg = MIMEMultipart()
        #找到report目录下最新生成的报告文件供后续使用
        result_dir = 'D:\\report'
        lists=os.listdir(result_dir)
        lists.sort(key=lambda fn: os.path.getmtime(result_dir+"\\"+fn) if not
                   os.path.isdir(result_dir+"\\"+fn) else 0)
        print (u'The Latest Test Report is: '+lists[-1])
        file_new = os.path.join(result_dir,lists[-1])
        #读取最新的测试报告文件获取部分信息来定义邮件的内容
        Regex_Theme=re.compile(r'Automation Test Report')
        Regex_Content=re.compile(r'<strong>(.*:)</strong>(.*)<')
        Report_File=open(file_new,'r')
        Mail_Content=[]
        for line in Report_File.readlines():
            if '<title>Automation Test Report</title>' in line or "<p class='attribute'>" in line:
                i=Regex_Theme.findall(line)
                j=Regex_Content.findall(line)
                if i != []:
                    Mail_Content.append(i)
                if j != []:
                    Mail_Content.append(j)
        Report_File.close()
        #将读取到的测试报告的数据以html形式显示为邮件的中文
        msgTest=MIMEText('''<html><h1>Test completed,Test results are as follows:</h1></html>'''
                         '''<hr />'''
                         '''<p><strong>'''+Mail_Content[0][0]+'''</strong></p>'''
                         '''<p><strong>'''+Mail_Content[1][0][0]+'''</strong>'''+Mail_Content[1][0][1]+'''</p>'''
                         '''<p><strong>'''+Mail_Content[2][0][0]+'''</strong>'''+Mail_Content[2][0][1]+'''</p>'''
                         '''<p><strong>'''+Mail_Content[3][0][0]+'''</strong>'''+Mail_Content[3][0][1]+'''</p>'''
                         '''<hr />'''
                         '''<p>PS: Detailed test results please refer to the attachment</p>'''
                         ,'html','utf-8')
        msg.attach(msgTest)
        #定义邮件的附件
        att1 = MIMEText(open(file_new, 'rb').read(), 'base64', 'utf-8')
        att1["Content-Type"] = 'application/octet-stream'
        att1["Content-Disposition"] ='attachment; filename="Automation test report.html"'#这里的filename指的是附件的名称及类型
        msg.attach(att1)
        #将邮件的主题等相关信息添加到邮件实例
        msg['Subject'] = Header(mail_subject)
        msg['From'] = mail_from
        msg['To'] = mail_to
        msg['date']=time.strftime('%a, %d %b %Y %H:%M:%S %z') 
        #创建发送服务器实例并将发送服务器添加到实例中
        smtp = smtplib.SMTP()
        smtp.connect(mail_smtpserver)
        '''
        #采用ssl加密传输
        smtp.ehlo()
        smtp.starttls()
        smtp.ehlo()
        '''
        '''
        #打印交互的日志信息
        #smtp.set_debuglevel(1)
        '''
        #登录发送邮件服务器并进行邮件的发送
        smtp.login(mail_username, mail_password)
        smtp.sendmail(mail_from, mail_to, msg.as_string())
        print u'Test report sent successfully,Please go to the following email to check the test report :%s' %mail_to
        smtp.quit()
        
    #----------------------------------------------------------------------------------------------------
    if __name__ == "__main__":
        send_Test_email('xxx@126.com')
    


    当然,如果要使用email模块的其他功能,可以参考网上的以下7个列子:

    一,文件形式的邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***'
    
    msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8',单字节字符不需要
    msg['Subject'] = Header(subject, 'utf-8')
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()

    二、html形式的邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.text import MIMEText
    
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***'
    
    msg = MIMEText('</pre>
    <h1>你好</h1>
    <pre>','html','utf-8') 
    
    msg['Subject'] = subject 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()

    三、带图片的html邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage 
    
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***' 
    
    msgRoot = MIMEMultipart('related')
    msgRoot['Subject'] = 'test message' 
    
    msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.
    <img alt="" src="cid:image1" />
    good!','html','utf-8')
    msgRoot.attach(msgText) 
    
    fp = open('h:\\python\\1.jpg', 'rb')
    msgImage = MIMEImage(fp.read())
    fp.close() 
    
    msgImage.add_header('Content-ID', '')
    msgRoot.attach(msgImage) 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msgRoot.as_string())
    smtp.quit()


    四、带附件的邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage 
    
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***' 
    
    msgRoot = MIMEMultipart('related')
    msgRoot['Subject'] = 'test message' 
    
    #构造附件
    att = MIMEText(open('h:\\python\\1.jpg', 'rb').read(), 'base64', 'utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attachment; filename="1.jpg"'
    msgRoot.attach(att) 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msgRoot.as_string())
    smtp.quit()


    五、群邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.text import MIMEText 
    
    sender = '***'
    receiver = ['***','****',……]
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***' 
    
    msg = MIMEText('你好','text','utf-8') 
    
    msg['Subject'] = subject 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()
    


    六、包含各种元素的邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage 
    
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***' 
    
    # Create message container - the correct MIME type is multipart/alternative.
    msg = MIMEMultipart('alternative')
    msg['Subject'] = "Link" 
    
    # Create the body of the message (a plain-text and an HTML version).
    text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"
    html = """\
    
     
    Hi!
    
           How are you?
    
           Here is the <a href="http://www.python.org">link</a> you wanted.
    
     
    
    """ 
    
    # Record the MIME types of both parts - text/plain and text/html.
    part1 = MIMEText(text, 'plain')
    part2 = MIMEText(html, 'html') 
    
    # Attach parts into message container.
    # According to RFC 2046, the last part of a multipart message, in this case
    # the HTML message, is best and preferred.
    msg.attach(part1)
    msg.attach(part2)
    #构造附件
    att = MIMEText(open('h:\\python\\1.jpg', 'rb').read(), 'base64', 'utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attachment; filename="1.jpg"'
    msg.attach(att) 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()


    7、基于ssl的邮件

    #!/usr/bin/env python3
    #coding: utf-8
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    sender = '***'
    receiver = '***'
    subject = 'python email test'
    smtpserver = 'smtp.163.com'
    username = '***'
    password = '***' 
    
    msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8',单字节字符不需要
    msg['Subject'] = Header(subject, 'utf-8') 
    
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.ehlo()
    smtp.starttls()
    smtp.ehlo()
    smtp.set_debuglevel(1)
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()




    展开全文
  • 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.总结

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

    展开全文
  • email邮箱最长多少位

    万次阅读 2011-08-04 15:26:55
    email地址的最长长度 email地址的最长长度是多少? 答案:320个字符 email地址分为2个部分:local part和domain part local part 为“@”前面的部分,最多64个字符 domain part 为“@”后面的部分,最多255
     
    

    email地址的最长长度

    email地址的最长长度是多少?

    答案:320个字符

    email地址分为2个部分:local part和domain part

    local part 为“@”前面的部分,最多64个字符

    domain part 为“@”后面的部分,最多255个字符

    于是,255+64+“@”一个=320个字符

    说完,谢谢

     
    http://iiiorz.net/2009/05/length_of_an_email_address_limited/
    展开全文
  • 常用正则表达式—邮箱(Email

    万次阅读 多人点赞 2016-06-15 13:56:49
    常用正则表达式—邮箱(Email)本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习。要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上找出一...

    常用正则表达式—邮箱(Email)

     本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习。

     要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式。我尝试过在网上找出一个标准的格式,但是很遗憾我没有找到。我也尝试使用RFC标准来判断邮箱的格式,但是也没有结果。网上些博客说不应该使用RFC标准来验证邮箱是否合法,有兴趣的可以看看“is this email valid?”和“Don’t RFC-Validate Email Addresses”。据了解【参考】,现在用中文命名的邮箱也合法了,比如“杨元庆@联想.中国”。

     虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称@域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个,比如只允许有英文、数字、下划线等组成。下面举例实现一些验证邮箱格式的正则表达式。

    实例1、只允许英文字母、数字、下划线、英文句号、以及中划线组成

    举例:zhangsan-001@gmail.com
    分析邮件名称部分:

    • 26个大小写英文字母表示为a-zA-Z
    • 数字表示为0-9
    • 下划线表示为_
    • 中划线表示为-
    • 由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现

     根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+


    分析域名部分:

     一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .** .**”组成。

    • “**”部分可以表示为[a-zA-Z0-9_-]+
    • “.**”部分可以表示为\.[a-zA-Z0-9_-]+
    • 多个“.**”可以表示为(\.[a-zA-Z0-9_-]+)+

     综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+

    最终表达式:
     由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
      ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$


    实例2、名称允许汉字、字母、数字,域名只允许英文域名

    举例:杨元庆001Abc@lenovo.com.cn

    分析邮件名称部分:

    • 汉字在正则表示为[\u4e00-\u9fa5]
    • 字母和数字表示为A-Za-z0-9
       通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+

    分析邮件域名部分

     邮件部分可以参考实例1中的分析域名部分
     得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+

    最终表达式:
     我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为
      ^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

    展开全文
  • 电子邮件

    2020-06-23 18:33:38
    ## 电子邮件的工作机制 提供电子邮件服务的协议叫做SMTP(Simple Mail Transfer Protocol)。SMTP为了实现高效发送邮件内容,在其传输层使用了TCP协议。 早期电子邮件是在发送端主机与接收端主机之间直接建立TCP...
  • Java Email 的简单使用

    千次阅读 2018-08-29 23:42:29
    一、Commons-Email 的使用: &lt;dependency&gt;  &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;  &lt;artifactId&gt;commons-email&lt;/artifactId&gt;  ...
  • 正则表达式-邮箱有效性验证

    万次阅读 多人点赞 2019-08-16 11:49:06
    邮箱有效性需满足的验证逻辑
  • java正则表达式判断email的是否有效

    万次阅读 2012-04-05 09:58:02
    /** * 检测邮箱地址是否合法 * @param email * @return true合法 false不合法 */ public boolean isEmail(String email){ if (null==email || "".equals(email)) return false; // Patt
  • 解决办法 Linux查看服务器名  输入命令 hostname vi /profile/hosts 配置 内网映射主机
  • 昨天刚配置好的git,今天刚要commit一些修改,就遇到了这个问题 ... git config --global user.email "you@example.com"  git config --global user.name "Your Name" to set your accoun
  • 就是说你的用户名和邮箱没有指定 指定下就可以了
  • git错误:unable to auto-detect email address

    万次阅读 2017-11-14 08:55:50
    idea 用git更新的时候报错,详细错误信息如下: Tried to save uncommitted changes in stash before Update, but failed... stash file://D:/Workspace for idea/0ZKR/ycbs-cloud-today: unable to auto-detect email ad
  • 首先,主要是ecmall使用的phpmailer版本太低,不支持加密连接。 1. 覆盖phpmailer 请从附件进行下载:  http://files.cnblogs.com/x3d/ecmall_phpmailer_lib.zip 2. 改造lib ...在这两个类的构
  • linux shell 发送email 附件

    万次阅读 2011-09-21 12:27:57
    方法一:发送单个附件(正文乱码) mutt -s "mail subject" -a output_email.html -- tomail@163.com 或者 cat output_email.html | mutt -s "mail subject" -a ou
  • Java Email

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

    千次阅读 2018-05-16 15:15:57
    下面的这两行命令就是设置用户名和email:$ git config --global user.name author #将用户名设为author $ git config --global user.email author@corpmail.com #将用户邮箱设为author@corpmail.com...
  • import email.utils ModuleNotFoundError: No module named ‘email.utils’; ‘email’ is not a package 最基本的就是安装这个模块,但是email是python自带的 后来网上查了原因 先确保你的当前文件夹中不要有...
  • git修改user.name和user.email

    万次阅读 2016-08-16 10:39:58
    .git删除:rm -rf .git 查看信息:git config --list 修改:git config --global user.name "name" git config --global user.email "email
  • java发送邮件mail.jar

    万次阅读 2019-08-08 09:06:41
    这里短信发送是基于对mail.jar 封装的jar包开发的,但是基本参数是一样的,可以参考 package com.dw; import com.dareway.framework.exception.AppException; import com.dareway.framework.mail.MailInfo; ...
  • 利用CodeIgniter中的Email类发邮件

    万次阅读 2012-04-03 12:40:33
    CodeIgniter拥有功能强大的Email类。以下为利用其发送邮件的代码。 关于CI的Email类的详情请参考:http://codeigniter.org.cn/user_guide/libraries/email.html 文件路径为/application/controllers/welcome.php...
1 2 3 4 5 ... 20
收藏数 703,524
精华内容 281,409
关键字:

email