Hello.
I need help. Im making a script in python to subscribe to mailboxes and for that I want to authenticate using authenticate().
For some reason Im receiving this error imaplib.IMAP4.error: AUTHENTICATE command error: BAD [b'malformed authentication request'].
I've been trying a lot of different ways to solve the problem but none is working. I used imap.capabilities to check if 'AUTH=PLAIN' is activated and it is.
this is my function:
I need help. Im making a script in python to subscribe to mailboxes and for that I want to authenticate using authenticate().
For some reason Im receiving this error imaplib.IMAP4.error: AUTHENTICATE command error: BAD [b'malformed authentication request'].
I've been trying a lot of different ways to solve the problem but none is working. I used imap.capabilities to check if 'AUTH=PLAIN' is activated and it is.
this is my function:
Code:
def connect_to_server(imaphost, target_user_email, admin_email, admin_password, used_port): try: # Correct authentication format for Zimbra: auth_string = f"{target_user_email}\x00{admin_email}\x00{admin_password}" auth_b64 = base64.b64encode(auth_string.encode("utf-8")).decode("utf-8") connect = imaplib.IMAP4_SSL(imaphost, port=used_port) logging.info(f"Server capabilities: {connect.capabilities}") # Ensure PLAIN authentication is supported if "AUTH=PLAIN" not in connect.capabilities: logging.error("PLAIN authentication is not supported by the server.") raise Exception("PLAIN authentication is not supported.") # Authenticate using PLAIN with lambda function connect.authenticate("PLAIN", lambda _: auth_b64.encode("utf-8")) logging.info(f"Connected successfully to {target_user_email}") return connect except imaplib.IMAP4.error as error: logging.error(f"IMAP authentication failed: {error}") raise
Statistics: Posted by Vaelzard — Fri Mar 14, 2025 12:21 pm