mirror of
https://github.com/Mailu/Mailu.git
synced 2025-06-06 23:36:26 +02:00
Update 05_connectivity test to use UTF8 password.
This commit is contained in:
parent
8c206e8a9b
commit
9ad7cea515
@ -8,4 +8,5 @@ docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mail
|
|||||||
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1
|
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1
|
||||||
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1
|
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1
|
||||||
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user 'user/with/slash' mailu.io 'password' || exit 1
|
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user 'user/with/slash' mailu.io 'password' || exit 1
|
||||||
|
docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user 'user_UTF8' mailu.io 'password€' || exit 1
|
||||||
echo "User testing successful!"
|
echo "User testing successful!"
|
||||||
|
@ -7,25 +7,31 @@ import sys
|
|||||||
import managesieve
|
import managesieve
|
||||||
|
|
||||||
SERVER='localhost'
|
SERVER='localhost'
|
||||||
USERNAME='user@mailu.io'
|
USERNAME='user_UTF8@mailu.io'
|
||||||
PASSWORD='password'
|
PASSWORD='password€'
|
||||||
|
#https://github.com/python/cpython/issues/73936
|
||||||
|
#SMTPlib does not support UTF8 passwords.
|
||||||
|
USERNAME_ASCII='user@mailu.io'
|
||||||
|
PASSWORD_ASCII='password'
|
||||||
|
|
||||||
|
|
||||||
def test_imap(server, username, password):
|
def test_imap(server, username, password):
|
||||||
|
auth = lambda data : f'\x00{username}\x00{password}'
|
||||||
print(f'Authenticating to imaps://{username}:{password}@{server}:993/')
|
print(f'Authenticating to imaps://{username}:{password}@{server}:993/')
|
||||||
with imaplib.IMAP4_SSL(server) as conn:
|
with imaplib.IMAP4_SSL(server) as conn:
|
||||||
conn.login(username, password)
|
conn.authenticate('PLAIN', auth)
|
||||||
conn.noop()
|
conn.noop()
|
||||||
print('OK')
|
print('OK')
|
||||||
print(f'Authenticating to imaps://{username}:{password}@{server}:143/')
|
print(f'Authenticating to imaps://{username}:{password}@{server}:143/')
|
||||||
with imaplib.IMAP4(server) as conn:
|
with imaplib.IMAP4(server) as conn:
|
||||||
conn.starttls()
|
conn.starttls()
|
||||||
conn.login(username, password)
|
conn.authenticate('PLAIN', auth)
|
||||||
conn.noop()
|
conn.noop()
|
||||||
print('OK')
|
print('OK')
|
||||||
print(f'Authenticating to imap://{username}:{password}@{server}:143/')
|
print(f'Authenticating to imap://{username}:{password}@{server}:143/')
|
||||||
try:
|
try:
|
||||||
with imaplib.IMAP4(server) as conn:
|
with imaplib.IMAP4(server) as conn:
|
||||||
conn.login(username, password)
|
conn.authenticate('PLAIN', auth)
|
||||||
print(f'Authenticating to imap://{username}:{password}@{server}:143/ worked without STARTTLS!')
|
print(f'Authenticating to imap://{username}:{password}@{server}:143/ worked without STARTTLS!')
|
||||||
sys.exit(102)
|
sys.exit(102)
|
||||||
except imaplib.IMAP4.error:
|
except imaplib.IMAP4.error:
|
||||||
@ -130,5 +136,7 @@ def test_managesieve(server, username, password):
|
|||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_imap(SERVER, USERNAME, PASSWORD)
|
test_imap(SERVER, USERNAME, PASSWORD)
|
||||||
test_pop3(SERVER, USERNAME, PASSWORD)
|
test_pop3(SERVER, USERNAME, PASSWORD)
|
||||||
test_SMTP(SERVER, USERNAME, PASSWORD)
|
test_SMTP(SERVER, USERNAME_ASCII, PASSWORD_ASCII)
|
||||||
test_managesieve(SERVER, USERNAME, PASSWORD)
|
test_managesieve(SERVER, USERNAME, PASSWORD)
|
||||||
|
#https://github.com/python/cpython/issues/73936
|
||||||
|
#SMTPlib does not support UTF8 passwords.
|
Loading…
x
Reference in New Issue
Block a user