/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_mail_XSmtpService_idl__
#define __com_sun_star_mail_XSmtpService_idl__

#include <com/sun/star/mail/XMailService.idl>
#include <com/sun/star/mail/XMailMessage.idl>
#include <com/sun/star/io/NotConnectedException.idl>
#include <com/sun/star/io/ConnectException.idl>
#include <com/sun/star/mail/MailException.idl>
#include <com/sun/star/mail/SendMailMessageFailedException.idl>
#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>

module com { module sun { module star { module mail {

/**
   Represents a SMTP service abstraction.

   @see com::sun::star::mail::XMailService
   @see com::sun::star::mail::XMailMessage

   @since OOo 2.0
 */
interface XSmtpService: ::com::sun::star::mail::XMailService {

    /**
        Send a mail message to its recipients.

        @param xMailMessage
        [in] the mail message to be sent.

        @throws com::sun::star::io::NotConnectedException
        if no user is currently connected to the mail server.

        @throws com::sun::star::mail::SendMailMessageFailedException
        if the message could not be sent because of invalid recipient
        addresses. The e-mail addresses of recipients have to conform to
        <a href="http://www.ietf.org/rfc/rfc822.txt">RFC&nbsp;822</a>.

        @throws com::sun::star::mail::MailException
        is thrown on other errors that may happen during sending.
        A possible reason may be for instance that a file attachment
        specified in a mail message could not be found or accessed.

        @throws com::sun::star::datatransfer::UnsupportedFlavorException
        is thrown when the body of the mail message is provided in an
        unsupported mime content type or may be thrown if one of the file
        attachments specifies an unsupported mime content type.

        @see com::sun::star::mail::XMailMessage
        @see com::sun::star::io::NotConnectedException
        @see com::sun::star::mail::SendMailMessageFailedException
        @see com::sun::star::mail::MailException
        @see com::sun::star::datatransfer::UnsupportedFlavorException
    */
    void sendMailMessage([in] XMailMessage xMailMessage)
        raises(com::sun::star::io::NotConnectedException, com::sun::star::mail::SendMailMessageFailedException, com::sun::star::mail::MailException, com::sun::star::datatransfer::UnsupportedFlavorException);
};

}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
