What operation should I use to write node's information in an email when the node is saved? I am using hook_nodeapi() to display the node's information in an email when the user clicks on the "Save" button. I tried writing code for the "presave" operation, but that didn't work the way I wanted. I tried using a query to pull out the node data, but the data wasn't in the database until after the "postsave" operation.

Which $op is the right one for me? I tried 'insert' as well, and that didn't work.
Thanks to a bit of a to-and-fro in your other questions (this one and this one) I think I know what the problem is.

Without going into great detail, the content module (CCK) also implements hook_nodeapi(), in order to commit the field data to the database. What's currently happening is that the hooks implemented by your module are being called before the hooks for the content module, which means at the time your implementation of hook_nodeapi() is run, CCK's implementation has not run; hence the data not being found in the database.

In my experience unless you explicitly set the weight of certain modules, they're ordered by name alphabetically, and as your module name begins with 'a' it does make sense that this would happen.

To get around it you just need to increase the 'weight' of your module in the system. Have a look at How to update a module's weight for more information but essentially you want to run a query like this against your database:

db_query("UPDATE {system} SET weight = 100 WHERE name = 'yourmodulename'");


After that clear Drupal's caches and you should see things starting to behave a bit differently.