/* Copyright (c) 2013-2018 Dovecot authors, see the included COPYING file */
#include "submission-common.h"
#include "str.h"
#include "mail-user.h"
#include "smtp-syntax.h"
#include "smtp-address.h"
#include "smtp-client.h"
#include "smtp-client-connection.h"
#include "submission-commands.h"
/*
* MAIL command
*/
struct cmd_mail_context {
};
{
if (client->xclient_sent)
return;
return;
return;
i_zero(&proxy_data);
}
{
}
struct cmd_mail_context *mail_cmd)
{
/* finished proxying MAIL command to relay server */
return;
/* if relay accepts it, we accept it too */
/* the default 2.0.0 code won't do */
}
/* forward reply */
}
static int
struct smtp_server_cmd_ctx *cmd,
enum smtp_capability proxy_caps,
struct smtp_server_cmd_mail *data)
{
const char *error;
if ((proxy_caps & SMTP_CAPABILITY_AUTH) == 0)
return 0;
i_warning("Username `%s' is not a valid SMTP address: %s",
}
return 0;
}
static int
struct smtp_server_cmd_ctx *cmd,
enum smtp_capability proxy_caps,
struct smtp_server_cmd_mail *data)
{
/* SIZE=<size-value>: RFC 1870 */
return 0;
/* determine actual size limit (account for our additions) */
"Message size exceeds fixed maximum message size");
return -1;
}
/* proxy the SIZE parameter (account for additional size) */
return 0;
}
struct smtp_server_cmd_mail *data)
{
/* check and adjust parameters where necessary */
return -1;
return -1;
/* queue command (pipeline) */
return 0;
}