예제 #1
0
def test_dkim():

    priv_key, pub_key = _generate_key(length=1024)

    DKIM_PARAMS = [
        dict(key=NativeStringIO(to_native(priv_key)),
             selector='_dkim',
             domain='somewhere1.net'),
        dict(key=priv_key, selector='_dkim', domain='somewhere2.net'),

        # legacy key argument name
        dict(privkey=priv_key, selector='_dkim', domain='somewhere3.net'),
    ]

    if is_py26:
        load_email_charsets()

    for dkimparams in DKIM_PARAMS:
        message = Message(**common_email_data())
        message.dkim(**dkimparams)
        # check DKIM header exist
        assert message.as_message()['DKIM-Signature']
        #print(__name__, "type message.as_string()==", type(message.as_string()))
        #print(message.as_string())
        #print(type(message.as_string()))
        #print(email.__file__)
        #print(email.charset.CHARSETS)
        #print('adding utf-8 charset...')
        #email.charset.add_charset('utf-8', email.charset.BASE64, email.charset.BASE64)
        #print(email.charset.CHARSETS)
        assert 'DKIM-Signature: ' in message.as_string()
        assert _check_dkim(message, pub_key)
예제 #2
0
def test_dkim_sign_twice():

    # Test #44:
    # " if you put the open there and send more than one messages it fails
    #   (the first works but the next will not if you dont seek(0) the dkim file first)"
    # Actually not.

    priv_key, pub_key = _generate_key(length=1024)
    message = Message(**common_email_data())
    message.dkim(key=NativeStringIO(to_native(priv_key)), selector='_dkim', domain='somewhere.net')
    for n in range(2):
        message.subject = 'Test %s' % n
        assert _check_dkim(message, pub_key)
예제 #3
0
def test_dkim_sign_twice():

    # Test #44:
    # " if you put the open there and send more than one messages it fails
    #   (the first works but the next will not if you dont seek(0) the dkim file first)"
    # Actually not.

    priv_key, pub_key = _generate_key(length=1024)
    message = Message(**common_email_data())
    message.dkim(key=NativeStringIO(to_native(priv_key)),
                 selector='_dkim',
                 domain='somewhere.net')
    for n in range(2):
        message.subject = 'Test %s' % n
        assert _check_dkim(message, pub_key)
예제 #4
0
def test_dkim():

    priv_key, pub_key = _generate_key(length=1024)

    DKIM_PARAMS = [dict(key=NativeStringIO(to_native(priv_key)),
                        selector='_dkim',
                        domain='somewhere1.net'),

                   dict(key=priv_key,
                        selector='_dkim',
                        domain='somewhere2.net'),

                   # legacy key argument name
                   dict(privkey=priv_key,
                        selector='_dkim',
                        domain='somewhere3.net'),
                   ]

    if is_py26:
        load_email_charsets()

    for dkimparams in DKIM_PARAMS:
        message = Message(**common_email_data())
        message.dkim(**dkimparams)
        # check DKIM header exist
        assert message.as_message()['DKIM-Signature']
        #print(__name__, "type message.as_string()==", type(message.as_string()))
        #print(message.as_string())
        #print(type(message.as_string()))
        #print(email.__file__)
        #print(email.charset.CHARSETS)
        #print('adding utf-8 charset...')
        #email.charset.add_charset('utf-8', email.charset.BASE64, email.charset.BASE64)
        #print(email.charset.CHARSETS)
        assert 'DKIM-Signature: ' in message.as_string()
        assert _check_dkim(message, pub_key)