static void
backend_relay_trans_start(struct submission_backend *_backend,
- struct smtp_server_transaction *trans)
+ struct smtp_server_transaction *trans ATTR_UNUSED,
+ const struct smtp_address *path,
+ const struct smtp_params_mail *params)
{
struct submission_backend_relay *backend =
(struct submission_backend_relay *)_backend;
if (backend->trans == NULL) {
backend->trans_started = TRUE;
backend->trans = smtp_client_transaction_create(
- backend->conn, trans->mail_from, &trans->params,
+ backend->conn, path, params,
backend_relay_trans_finished, backend);
smtp_client_transaction_set_immediate(backend->trans, TRUE);
smtp_client_transaction_start(
} else if (!backend->trans_started) {
backend->trans_started = TRUE;
smtp_client_transaction_start_empty(
- backend->trans, trans->mail_from, &trans->params,
+ backend->trans, path, params,
backend_relay_trans_start_callback, backend);
}
}
return;
backend->trans_started = TRUE;
- if (backend->v.trans_start != NULL)
- backend->v.trans_start(backend, trans);
+ if (backend->v.trans_start != NULL) {
+ backend->v.trans_start(backend, trans,
+ trans->mail_from, &trans->params);
+ }
}
static void
uoff_t (*get_max_mail_size)(struct submission_backend *backend);
void (*trans_start)(struct submission_backend *backend,
- struct smtp_server_transaction *trans);
+ struct smtp_server_transaction *trans,
+ const struct smtp_address *path,
+ const struct smtp_params_mail *params);
void (*trans_free)(struct submission_backend *backend,
struct smtp_server_transaction *trans);