Paul,
Output of your proposed debugging routine; everything seems to work. Select
inbox through the fetch command shown below...
SIGNIFICANTLY, however, as I've reported: A mail client can login properly, and
'see' the header line in its inbox Remember, we've already received a bunch of
email, on various virtualized domains, and have used your import utility for a
few thousand more... I think we're beyond the basics.
Problem seems to be at the point of 'translating' dbmail messageblks (binary,
bytea in PostgreSQL) into something an email client can read? Note the long
binary string 'message body'... Help!
(By way of documentation example, where are the full docs to these debugging
commands? Where would one have found them?) Lou
PS - For what it's worth, we have lots of output in errorlog, but have _never_
gotten anything written to logfile.
x select inbox
Aug 03 13:03:02 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+191):
COMMAND: [x select inbox]
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[0]: 'inbox'
Aug 03 13:03:02 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+302):
Executing command select...
Aug 03 13:03:02 leeloo [2841]: Debug:[db] db.c,db_findmailbox(+2631): looking
for mailbox with FQN [inbox].
Aug 03 13:03:02 leeloo [2841]: Debug:[misc]
misc.c,mailbox_remove_namespace(+176): [inbox]
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
mailbox_idnr FROM dbmail_mailboxes WHERE name ILIKE 'inbox' AND owner_idnr=9]
LOG: statement: SELECT mailbox_idnr FROM dbmail_mailboxes WHERE name ILIKE
'inbox' AND owner_idnr=9
LOG: duration: 5.143 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_set_state(+2135): state [2]
Aug 03 13:03:02 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4246):
checking ACL [read_flag] for user [9] on mailbox [13]
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
owner_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = 13]
LOG: statement: SELECT owner_idnr FROM dbmail_mailboxes WHERE mailbox_idnr = 13
LOG: duration: 1.016 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4257): mailbox
[13] is owned by user [9], giving all rights
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
no_select FROM dbmail_mailboxes WHERE mailbox_idnr = 13]
LOG: statement: SELECT no_select FROM dbmail_mailboxes WHERE mailbox_idnr = 13
LOG: duration: 1.075 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag,draft_flag
FROM dbmail_mailboxes WHERE mailbox_idnr = 13]
LOG: statement: SELECT
permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag,draft_flag
FROM dbmail_mailboxes WHERE mailbox_idnr = 13
LOG: duration: 1.909 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
0,COUNT(*) FROM dbmail_messages WHERE mailbox_idnr=13 AND (status < 2) UNION
SELECT 1,COUNT(*) FROM dbmail_messages WHERE mailbox_idnr=13 AND (status < 2)
AND seen_flag=1 UNION SELECT 2,COUNT(*) FROM dbmail_messages WHERE
mailbox_idnr=13 AND (status < 2) AND recent_flag=1]
LOG: statement: SELECT 0,COUNT(*) FROM dbmail_messages WHERE mailbox_idnr=13
AND (status < 2) UNION SELECT 1,COUNT(*) FROM dbmail_messages WHERE
mailbox_idnr=13 AND (status < 2) AND seen_flag=1 UNION SELECT 2,COUNT(*) FROM
dbmail_messages WHERE mailbox_idnr=13 AND (status < 2) AND recent_flag=1
LOG: duration: 14.072 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
max(message_idnr)+1 FROM dbmail_messages WHERE mailbox_idnr=13 ]
LOG: statement: SELECT max(message_idnr)+1 FROM dbmail_messages WHERE
mailbox_idnr=13
LOG: duration: 1.910 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
message_idnr FROM dbmail_messages WHERE mailbox_idnr = 13 AND status IN (0,1)
ORDER BY message_idnr]
LOG: statement: SELECT message_idnr FROM dbmail_messages WHERE mailbox_idnr =
13 AND status IN (0,1) ORDER BY message_idnr
LOG: duration: 3.338 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[mailbox]
dbmail-mailbox.c,mailbox_build_uid_map(+184): ids [1], msn [1]
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
seen_flag, answered_flag, deleted_flag, flagged_flag, draft_flag, recent_flag,
TO_CHAR(internal_date, 'YYYY-MM-DD HH24:MI:SS' ), rfcsize, message_idnr FROM
dbmail_messages msg, dbmail_physmessage pm WHERE pm.id = msg.physmessage_id AND
message_idnr = 6063 AND mailbox_idnr = 13 AND status IN (0,1,2) ORDER BY
message_idnr ASC]
LOG: statement: SELECT seen_flag, answered_flag, deleted_flag, flagged_flag,
draft_flag, recent_flag, TO_CHAR(internal_date, 'YYYY-MM-DD HH24:MI:SS' ),
rfcsize, message_idnr FROM dbmail_messages msg, dbmail_physmessage pm WHERE
pm.id = msg.physmessage_id AND message_idnr = 6063 AND mailbox_idnr = 13 AND
status IN (0,1,2) ORDER BY message_idnr ASC
LOG: duration: 9.091 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_set_state(+2135): state [3]
* 1 EXISTS
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* 1 EXISTS
]
* 1 RECENT
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* 1 RECENT
]
* FLAGS (\Seen \Answered \Deleted \Flagged \Draft)
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* FLAGS
(\Seen \Answered \Deleted \Flagged \Draft)
]
* OK [PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft)]
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* OK
[PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft)]
]
* OK [UIDNEXT 6064] Predicted next UID
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* OK
[UIDNEXT 6064] Predicted next UID
]
* OK [UIDVALIDITY 13] UID value
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* OK
[UIDVALIDITY 13] UID value
]
Aug 03 13:03:02 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
MIN(message_idnr) FROM dbmail_messages WHERE mailbox_idnr = 13 AND status < 2
AND seen_flag = 0]
LOG: statement: SELECT MIN(message_idnr) FROM dbmail_messages WHERE
mailbox_idnr = 13 AND status < 2 AND seen_flag = 0
LOG: duration: 1.936 ms
Aug 03 13:03:02 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
* OK [UNSEEN 1] first unseen message
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* OK [UNSEEN
1] first unseen message
]
x OK [READ-WRITE] SELECT completed
Aug 03 13:03:02 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [x OK
[READ-WRITE] SELECT completed
]
Aug 03 13:03:02 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+321):
Finished command select [0]
- - - - - - - - - - - - - - - - - - - - - - - -
x fetch * (body[])
Aug 03 13:11:31 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+191):
COMMAND: [x fetch * (body[])]
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[0]: '*'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[1]: '('
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[2]: 'body'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[3]: '['
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[4]: ']'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,build_args_array_ext(+2546): arg[5]: ')'
Aug 03 13:11:31 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+302):
Executing command fetch...
Aug 03 13:11:31 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4246):
checking ACL [read_flag] for user [9] on mailbox [13]
Aug 03 13:11:31 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4257): mailbox
[13] is owned by user [9], giving all rights
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[1]: '('
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[2]: 'body'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[3]: '['
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[4]: ']'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[5]: ')'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+597): parse args[2]
= [body]
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+651): token []],
nexttoken [)]
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,_imap_session_fetch_parse_octet_range(+524): parse token
[)]
Aug 03 13:11:31 leeloo [2841]: Debug:[imap] imapcommands.c,_ic_fetch(+1531):
dbmail_imap_session_fetch_parse_args loop idx 4 state 4
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+578): arg[5]: ')'
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_fetch_parse_args(+597): parse args[5]
= [)]
Aug 03 13:11:31 leeloo [2841]: Debug:[imap] imapcommands.c,_ic_fetch(+1531):
dbmail_imap_session_fetch_parse_args loop idx 5 state -1
Aug 03 13:11:31 leeloo [2841]: Debug:[mailbox]
dbmail-mailbox.c,dbmail_mailbox_get_set(+1431): [*] uid [0]
Aug 03 13:11:31 leeloo [2841]: Debug:[misc] misc.c,g_tree_merge(+1260): (70e38)
(70e18): a[0] [OR] b[1] -> a[1]
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
seen_flag, answered_flag, deleted_flag, flagged_flag, draft_flag, recent_flag,
TO_CHAR(internal_date, 'YYYY-MM-DD HH24:MI:SS' ), rfcsize, message_idnr FROM
dbmail_messages msg, dbmail_physmessage pm WHERE pm.id = msg.physmessage_id AND
message_idnr = 6063 AND mailbox_idnr = 13 AND status IN (0,1,2) ORDER BY
message_idnr ASC]
LOG: statement: SELECT seen_flag, answered_flag, deleted_flag, flagged_flag,
draft_flag, recent_flag, TO_CHAR(internal_date, 'YYYY-MM-DD HH24:MI:SS' ),
rfcsize, message_idnr FROM dbmail_messages msg, dbmail_physmessage pm WHERE
pm.id = msg.physmessage_id AND message_idnr = 6063 AND mailbox_idnr = 13 AND
status IN (0,1,2) ORDER BY message_idnr ASC
LOG: duration: 6.117 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,_imap_cache_update(+355): cache message [6063] filter [1]
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
physmessage_id FROM dbmail_messages WHERE message_idnr = 6063]
LOG: statement: SELECT physmessage_id FROM dbmail_messages WHERE message_idnr =
6063
LOG: duration: 1.003 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
messageblk, is_header FROM dbmail_messageblks WHERE physmessage_id = 3009 ORDER
BY messageblk_idnr]
LOG: statement: SELECT messageblk, is_header FROM dbmail_messageblks WHERE
physmessage_id = 3009 ORDER BY messageblk_idnr
LOG: duration: 3.403 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[message]
dbmail-message.c,_set_content_from_stream(+429): parse message
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,_imap_cache_update(+406): cache size [284]
* 1 FETCH (BODY[] {284}
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [* 1 FETCH
(BODY[] {284}
]
x46726f6d3a206e6f626f64790a5375626a6563743a2074657374207375626a6563740a546f3a207465737475736572406c6f63616c686f73740a52657475726e2d506174683a206e6f626f64790a4d6573736167652d49643a203c313238303835313838372e323537302e30403e0a4d494d452d56657273696f6e3a20312e300a0ax7465737420626f64790a
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
seen_flag FROM dbmail_messages WHERE message_idnr = 6063 AND status < 2 AND
mailbox_idnr = 13]
LOG: statement: SELECT seen_flag FROM dbmail_messages WHERE message_idnr = 6063
AND status < 2 AND mailbox_idnr = 13
LOG: duration: 1.462 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [SELECT
permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag,draft_flag
FROM dbmail_mailboxes WHERE mailbox_idnr = 13]
LOG: statement: SELECT
permission,seen_flag,answered_flag,deleted_flag,flagged_flag,recent_flag,draft_flag
FROM dbmail_mailboxes WHERE mailbox_idnr = 13
LOG: duration: 1.148 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4246):
checking ACL [seen_flag] for user [9] on mailbox [13]
Aug 03 13:11:31 leeloo [2841]: Debug:[db] db.c,db_acl_has_right(+4257): mailbox
[13] is owned by user [9], giving all rights
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [UPDATE
dbmail_messages SET recent_flag=0, seen_flag=1 WHERE message_idnr = 6063 AND
status < 2 AND mailbox_idnr = 13]
LOG: statement: UPDATE dbmail_messages SET recent_flag=0, seen_flag=1 WHERE
message_idnr = 6063 AND status < 2 AND mailbox_idnr = 13
LOG: duration: 21.504 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
)
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [)
]
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [BEGIN]
LOG: statement: BEGIN
LOG: duration: 0.613 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [UPDATE
dbmail_messages SET recent_flag = 0 WHERE message_idnr IN (6063) AND
recent_flag = 1]
LOG: statement: UPDATE dbmail_messages SET recent_flag = 0 WHERE message_idnr
IN (6063) AND recent_flag = 1
LOG: duration: 1.448 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[sql] dbpgsql.c,db_query(+279): [COMMIT]
LOG: statement: COMMIT
LOG: duration: 0.345 ms
Aug 03 13:11:31 leeloo [2841]: Debug:[db] dbmodule.c,db_query(+145): last query
took [0] seconds
Aug 03 13:11:31 leeloo [2841]: Debug:[db] db.c,db_commit_transaction(+214):
last transaction took [0] seconds
x OK FETCH completed
Aug 03 13:11:31 leeloo [2841]: Debug:[imapsession]
dbmail-imapsession.c,dbmail_imap_session_printf(+1525): RESPONSE: [x OK FETCH
completed
]
Aug 03 13:11:31 leeloo [2841]: Info:[imap] imap4.c,IMAPClientHandler(+321):
Finished command fetch [0]
----- Original Message -----
From: "Paul J Stevens" <[email protected]>
To: "DBMail mailinglist" <[email protected]>
Sent: Tuesday, August 3, 2010 9:55:15 AM
Subject: Re: [Dbmail] DBMail daemons segfaulting
On 08/03/2010 01:21 PM, Lou Picciano wrote:
> Paul,
>
> Yes, I've already been through all the man pages - we're beyond that.
> (Are you saying the sum total of the docs are those man pages?)
Almost. The man pages *plus* INSTALL *plus* the README.* docs.
> How/where would I go about researching the current problem - that we
> cannot read the body or attachments of any emails using imap? Server is
> apparently set up OK, as we are connecting, receiving headers, etc.
Either, message insertion did not succeed and the data is incomplete, or
message retrieval fails. In both cases postgres and/or dbmail should log
errors.
Set the trace_syslog to 5 in dbmail.conf
create a testuser:
dbmail-users -a testuser -w test
insert a message for this user:
cat >> test.eml << EOF
From: nobody
Subject: test subject
To: testu...@localhost
test body
EOF
cat test.eml | dbmail-smtp -u testuser
This must not log any dbmail related errors in syslog.
Retrieve this message:
.../dbmail-imapd -n
.../dbmail-imapd -n
* OK dbmail imap (protocol version 4r1) server 2.2.16 ready to run
x login testuser test
x OK LOGIN completed
x select inbox
* 1 EXISTS
* 1 RECENT
* FLAGS (\Seen \Answered \Deleted \Flagged \Draft)
* OK [PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft)]
* OK [UIDNEXT 22] Predicted next UID
* OK [UIDVALIDITY 5] UID value
* OK [UNSEEN 2] first unseen message
x OK [READ-WRITE] SELECT completed
x fetch * (body[])
* 2 FETCH (BODY[] {155}
From: nobody
Subject: test subject
To: testu...@localhost
Return-Path: nobody
Message-Id: <1280842773.22599.0@(none)>
MIME-Version: 1.0
test body
)
x OK FETCH completed
You can add utf8 encoded characters to the message body to validate
non-ascii message insertion and retrieval.
If these tests complete your message insertion and retrieval is clean.
More, similar testing with multipart messages is of course possible.
> For starters, specifically: If the wiki is not authoritative, where IS
> the authoritative setup information for a PostgreSQL backend? Have I
> got it all right? Are my queries correct? Where is the code to
> 'reconstruct' a complete email message, so I can test the integrity of a
> message, or of our own SQL integrations?
There is no specific setup information regarding specific RDBMS backends
other than the INSTALL documument. You do not need to setup specific
queries for dbmail proper. Only if you want to interface external tools
to the dbmail database - like postfix or amavis etc - you need to set
those up. But don't do that until basic dbmail functionality is complete
and tested.
The queries to reconstruct a message is quite simple for 2.2. You need
to know the message_idnr which is equal to the IMAP UID number for a
message:
x login testuser test
x select INBOX
x fetch * (UID)
this will give you the message_idnr for the last message inserted into
testuser's INBOX.
Use:
select messageblk from dbmail_messageblks b
JOIN dbmail_physmessage p on b.physmessage_id=p.id
JOIN dbmail_messages m on p.id = m.physmessage_id
where
m.message_idnr=XXXXX;
replacing XXXXX with the retrieved UID to give you the full raw message
as stored in the database.
--
________________________________________________________________
Paul Stevens paul at nfg.nl
NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31
The Netherlands________________________________http://www.nfg.nl
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail