diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c index 065126c7c44cc2cf841b35a7e7c5174f31490eab..8df831b2c70402df8f0c680eb5c8131888d02192 100644 --- a/src/plugins/imapsieve/imap-sieve.c +++ b/src/plugins/imapsieve/imap-sieve.c @@ -5,11 +5,10 @@ #include "home-expand.h" #include "mail-storage.h" #include "mail-user.h" -#include "lda-settings.h" -#include "mail-deliver.h" #include "mail-duplicate.h" -#include "smtp-client.h" +#include "smtp-submit.h" #include "imap-client.h" +#include "imap-settings.h" #include "sieve.h" #include "sieve-script.h" @@ -160,44 +159,46 @@ static void *imap_sieve_smtp_start struct imap_sieve_context *isctx = (struct imap_sieve_context *)senv->script_context; struct imap_sieve *isieve = isctx->isieve; - const struct lda_settings *lda_set = isieve->client->lda_set; - - return (void *)smtp_client_init(lda_set, return_path); + const struct smtp_submit_settings *smtp_set = isieve->client->smtp_set; + + return (void *)smtp_submit_init_simple(smtp_set, return_path); } static void imap_sieve_smtp_add_rcpt (const struct sieve_script_env *senv ATTR_UNUSED, void *handle, const char *address) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - smtp_client_add_rcpt(smtp_client, address); + smtp_submit_add_rcpt(smtp_submit, address); } static struct ostream *imap_sieve_smtp_send (const struct sieve_script_env *senv ATTR_UNUSED, void *handle) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - return smtp_client_send(smtp_client); + return smtp_submit_send(smtp_submit); } static void imap_sieve_smtp_abort (const struct sieve_script_env *senv ATTR_UNUSED, void *handle) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - smtp_client_abort(&smtp_client); + smtp_submit_deinit(&smtp_submit); } static int imap_sieve_smtp_finish (const struct sieve_script_env *senv ATTR_UNUSED, void *handle, const char **error_r) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; + int ret; - return smtp_client_deinit_timeout - (smtp_client, LDA_SUBMISSION_TIMEOUT_SECS, error_r); + ret = smtp_submit_run(smtp_submit, error_r); + smtp_submit_deinit(&smtp_submit); + return ret; } /* diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index eeec5132f1127eaa7113171337bbc0b051449388..8acd6daa1d04fc78a6c8a2e429d5c4859967f795 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -9,7 +9,7 @@ #include "mail-deliver.h" #include "mail-user.h" #include "mail-duplicate.h" -#include "smtp-client.h" +#include "smtp-submit.h" #include "mail-send.h" #include "lda-settings.h" @@ -73,45 +73,45 @@ static void *lda_sieve_smtp_start { struct mail_deliver_context *dctx = (struct mail_deliver_context *) senv->script_context; - - return (void *)smtp_client_init(dctx->set, return_path); + + return (void *)smtp_submit_init_simple(dctx->smtp_set, return_path); } static void lda_sieve_smtp_add_rcpt (const struct sieve_script_env *senv ATTR_UNUSED, void *handle, const char *address) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - smtp_client_add_rcpt(smtp_client, address); + smtp_submit_add_rcpt(smtp_submit, address); } static struct ostream *lda_sieve_smtp_send (const struct sieve_script_env *senv ATTR_UNUSED, void *handle) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - return smtp_client_send(smtp_client); + return smtp_submit_send(smtp_submit); } static void lda_sieve_smtp_abort (const struct sieve_script_env *senv ATTR_UNUSED, void *handle) { - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; - smtp_client_abort(&smtp_client); + smtp_submit_deinit(&smtp_submit); } static int lda_sieve_smtp_finish -(const struct sieve_script_env *senv, void *handle, +(const struct sieve_script_env *senv ATTR_UNUSED, void *handle, const char **error_r) { - struct mail_deliver_context *dctx = - (struct mail_deliver_context *) senv->script_context; - struct smtp_client *smtp_client = (struct smtp_client *) handle; + struct smtp_submit *smtp_submit = (struct smtp_submit *) handle; + int ret; - return smtp_client_deinit_timeout - (smtp_client, dctx->timeout_secs, error_r); + ret = smtp_submit_run(smtp_submit, error_r); + smtp_submit_deinit(&smtp_submit); + return ret; } static int lda_sieve_reject_mail