Документация
ОС Аврора 4.0.2

Класс EmailAccountProvisioner

(Sailfish::Mdm::Accounts::EmailAccountProvisioner)

Класс EmailAccountProvisioner позволяет клиентским приложениям создавать учётные записи электронной почты. Подробнее…

Подключение: #include <mdm-accounts.h>
Наследуется от: Provisioner

Публичные типы

Свойства

Публичные функции

Повторно реализованные публичные функции

Сигналы

Подробное описание

Класс EmailAccountProvisioner позволяет клиентским приложениям создавать учётные записи электронной почты.

С помощью этого простого API клиентские приложения MDM могут инициализировать на устройстве учётную запись электронной почты с заданными настройками.

Большинство параметров могут быть проинициализированы автоматически (на основе конфигураций служб, входящих в стандартную поставку устройства). Существует всего несколько параметров, значения которых не могут быть заданы автоматически (при условии, что в конфигурации службы заданы параметры для поставщика услуг электронной почты):

Кроме того, если на устройстве необходимо использовать ненадёжные сертификаты, это необходимо явным образом разрешить. В противном случае такие сертификаты будут запрещены по умолчанию.

Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

и затем #include <mdm-accounts.h>.

Пример использования:

 #include <mdm-accounts.h>
 void createEmailAccount(const QString &emailAddress, const QString &password)
 {
     Sailfish::Mdm::Accounts::EmailAccountProvisioner eap;
     eap.setProviderName(QStringLiteral("email"));
     eap.setEmailAddress(emailAddress);
     eap.setIncomingPassword(password);
     if (!eap.createAccount()) {
         qWarning() << "Не удалось создать учётную запись:" << eap.errorMessage();
     }
 }

Или изменить существующую учётную запись:

 #include <mdm-accounts.h>
 void setAccountServerAddress(quint64 accountId, const QString &defaultServiceName, const QString &serverAddress)
 {
     Sailfish::Mdm::Accounts::EmailAccountProvisioner eap;
     if (eap.selectAccount(accountId)) {
         eap.setDefaultServiceName(defaultServiceName);
         eap.setServerAddress(serverAddress);
         if (!eap.commitChanges()) {
             qWarning() << "Не удалось изменить учётную запись:" << activeSyncAccount.errorMessage();
         }
     } else {
         qWarning() << "Нет такой учётной записи"
     }
 }

Описание типов-членов

enum EmailAccountProvisioner::Authentication

Метод аутентификации для подключения к почтовому серверу.

Константа Значение Описание
Sailfish::Mdm::Accounts::EmailAccountProvisioner::NoAuthentication 0 Аутентификация не используется
Sailfish::Mdm::Accounts::EmailAccountProvisioner::Login 1 Аутентификация LOGIN
Sailfish::Mdm::Accounts::EmailAccountProvisioner::Plain 2 Аутентификация PLAIN
Sailfish::Mdm::Accounts::EmailAccountProvisioner::CramMd5 3 Аутентификация CRAM-MD5

enum EmailAccountProvisioner::ConnectionEncryption

Шифрование соединения для подключения к почтовому серверу.

Константа Значение Описание
Sailfish::Mdm::Accounts::EmailAccountProvisioner::NoEncryption 0 Шифрование не используется
Sailfish::Mdm::Accounts::EmailAccountProvisioner::SSL 1 Шифрование SSL
Sailfish::Mdm::Accounts::EmailAccountProvisioner::StartTLS 2 Шифрование StartTLS

enum EmailAccountProvisioner::IncomingProtocol

В данном перечислении описаны поддерживаемые протоколы, по которым осуществляется получение писем с почтовых серверов.

Константа Значение Описание
Sailfish::Mdm::Accounts::EmailAccountProvisioner::NoIncomingProtocol 0 Недействительное значение/значение протокола по умолчанию
Sailfish::Mdm::Accounts::EmailAccountProvisioner::Imap4 1 Протокол IMAP4
Sailfish::Mdm::Accounts::EmailAccountProvisioner::Pop3 2 Протокол POP3

enum EmailAccountProvisioner::OutgoingProtocol

В данном перечислении описаны поддерживаемые протоколы, по которым осуществляется отправление писем на почтовые серверы.

Константа Значение Описание
Sailfish::Mdm::Accounts::EmailAccountProvisioner::NoOutgoingProtocol 0 Недействительное значение/значение протокола по умолчанию
Sailfish::Mdm::Accounts::EmailAccountProvisioner::Smtp 1 Протокол SMTP

Описание свойств

defaultServiceName : QString

Содержит имя службы, используемой по умолчанию для учётной записи.

В определении службы содержатся настройки, используемые связующим ПО (QMF) во время синхронизации электронной почты.

Если перед созданием учётной записи для службы не указано имя по умолчанию, будет предпринята попытка автоматического определения подходящей службы электронной почты путём вызова метода Mdm::Accounts::Provisioner::providerName.

Методы доступа:

  • QString defaultServiceName() const
  • void setDefaultServiceName(const QString &servicename)

Сигнал уведомления:

  • void defaultServiceNameChanged()

emailAddress : QString

Содержит адрес электронной почты, связанный с учётной записью.

Следует обратить внимание, что адрес электронной почты может быть использован в качестве имени пользователя при подключении к серверу входящей почты и/или серверу исходящей почты, при условии, что имя пользователя для этих серверов не задано.

Методы доступа:

  • QString emailAddress() const
  • void setEmailAddress(const QString &emailaddress)

Сигнал уведомления:

  • void emailAddressChanged()

incomingAcceptUntrustedCertificates : bool

Истинно, если устройству разрешено принимать ненадёжные сертификаты от сервера входящей почты (POP/IMAP).

Значение по умолчанию: false.

Методы доступа:

  • bool incomingAcceptUntrustedCertificates() const
  • void setIncomingAcceptUntrustedCertificates(bool accept)

Сигнал уведомления:

  • void incomingAcceptUntrustedCertificatesChanged()

incomingConnectionEncryption : Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption

Содержит способ шифрования соединения, используемый для обмена данными с сервером входящей почты (POP/IMAP).

Если перед созданием учётной записи способ шифрования соединения не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption incomingConnectionEncryption() const
  • void setIncomingConnectionEncryption(Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption enc)

Сигнал уведомления:

  • void incomingConnectionEncryptionChanged()

incomingPassword : QString

Содержит пароль для сервера входящей почты (POP/IMAP).

Этот пароль вместе с соответствующим именем пользователя используются для аутентификации на сервере входящей почты.

Следует обратить внимание, что если перед созданием учётной записи не был указан пароль для сервера исходящей почты, то пароль для сервера входящей почты будет также использоваться для подключения к серверу исходящей почты.

Методы доступа:

  • QString incomingPassword() const
  • void setIncomingPassword(const QString &password)

Сигнал уведомления:

  • void incomingPasswordChanged()

incomingPort : int

Содержит порт, используемый для подключения к серверу входящей почты (POP/IMAP).

Это порт сервера входящей почты, к которому устройство будет подключаться для получения входящих писем.

Если перед созданием учётной записи порт сервера входящей почты не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • int incomingPort() const
  • void setIncomingPort(int port)

Сигнал уведомления:

  • void incomingPortChanged()

incomingProtocol : Sailfish::Mdm::Accounts::EmailAccountProvisioner::IncomingProtocol

Содержит поддерживаемый протокол для сервера входящей почты (POP/IMAP).

Если перед созданием учётной записи протокол сервера входящей почты не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

В настоящий момент поддерживаются протоколы IMAP4 и POP3.

Методы доступа:

  • Sailfish::Mdm::Accounts::EmailAccountProvisioner::IncomingProtocol incomingProtocol() const
  • void setIncomingProtocol(Sailfish::Mdm::Accounts::EmailAccountProvisioner::IncomingProtocol protocol)

Сигнал уведомления:

  • void incomingProtocolChanged()

incomingServer : QString

Содержит IP-адрес или URL сервера входящей почты (POP/IMAP).

К этому серверу устройство будет подключаться для получения входящих писем.

Если перед созданием учётной записи сервер входящей почты не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • QString incomingServer() const
  • void setIncomingServer(const QString &server)

Сигнал уведомления:

  • void incomingServerChanged()

incomingUsername : QString

Содержит имя пользователя для сервера входящей почты (POP/IMAP).

Если перед созданием учётной записи имя пользователя для сервера входящей почты не было указано, оно считается идентичным адресу электронной почты.

Следует обратить внимание, что если перед созданием учётной записи имя пользователя для исходящей почты не было указано, оно считается идентичным имени пользователя для входящей почты или адресу электронной почты (если имя пользователя для входящей почты не указано).

Методы доступа:

  • QString incomingUsername() const
  • void setIncomingUsername(const QString &username)

Сигнал уведомления:

  • void incomingUsernameChanged()

outgoingAcceptUntrustedCertificates : bool

Истинно, если устройству разрешено принимать ненадёжные сертификаты от сервера исходящей почты (SMTP).

Значение по умолчанию: false.

Методы доступа:

  • bool outgoingAcceptUntrustedCertificates() const
  • void setOutgoingAcceptUntrustedCertificates(bool accept)

Сигнал уведомления:

  • void outgoingAcceptUntrustedCertificatesChanged()

outgoingAuthentication : Sailfish::Mdm::Accounts::EmailAccountProvisioner::Authentication

Содержит метод аутентификации, используемый для подключения к серверу исходящей почты (SMTP).

Если перед созданием учётной записи метод аутентификации не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • Sailfish::Mdm::Accounts::EmailAccountProvisioner::Authentication outgoingAuthentication() const
  • void setOutgoingAuthentication(Sailfish::Mdm::Accounts::EmailAccountProvisioner::Authentication requiresAuth)

Сигнал уведомления:

  • void outgoingAuthenticationChanged()

outgoingConnectionEncryption : Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption

Содержит способ шифрования соединения, используемый для обмена данными с сервером исходящей почты (SMTP).

Если перед созданием учётной записи способ шифрования соединения не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption outgoingConnectionEncryption() const
  • void setOutgoingConnectionEncryption(Sailfish::Mdm::Accounts::EmailAccountProvisioner::ConnectionEncryption enc)

Сигнал уведомления:

  • void outgoingConnectionEncryptionChanged()

outgoingPassword : QString

Содержит пароль, используемый для подключения к серверу исходящей почты (SMTP).

Если перед созданием учётной записи пароль для сервера исходящей почты не был указан, он считается идентичным паролю для сервера входящей почты.

Методы доступа:

  • QString outgoingPassword() const
  • void setOutgoingPassword(const QString &password)

Сигнал уведомления:

  • void outgoingPasswordChanged()

outgoingPort : int

Содержит порт, используемый для подключения к серверу исходящей почты (SMTP).

Если перед созданием учётной записи порт сервера исходящей почты не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • int outgoingPort() const
  • void setOutgoingPort(int port)

Сигнал уведомления:

  • void outgoingPortChanged()

outgoingProtocol : Sailfish::Mdm::Accounts::EmailAccountProvisioner::OutgoingProtocol

Содержит поддерживаемый протокол для сервера исходящей почты (SMTP).

Если перед созданием учётной записи протокол сервера исходящей почты не был указан, он считается равным Sailfish::Mdm::Accounts::EmailAccountProvisioner::Smtp.

В настоящий момент поддерживается протокол SMTP.

Методы доступа:

  • Sailfish::Mdm::Accounts::EmailAccountProvisioner::OutgoingProtocol outgoingProtocol() const
  • void setOutgoingProtocol(Sailfish::Mdm::Accounts::EmailAccountProvisioner::OutgoingProtocol protocol)

Сигнал уведомления:

  • void outgoingProtocolChanged()

outgoingServer : QString

Содержит IP-адрес или URL сервера исходящей почты (SMTP).

Если перед созданием учётной записи сервер исходящей почты не был указан, он может быть автоматически определён при условии, что для поставщика услуг имеется допустимая конфигурация.

Методы доступа:

  • QString outgoingServer() const
  • void setOutgoingServer(const QString &server)

Сигнал уведомления:

  • void outgoingServerChanged()

outgoingUsername : QString

Содержит имя пользователя, используемое для подключения к серверу исходящей почты (SMTP).

Если перед созданием учётной записи имя пользователя для исходящей почты не было указано, оно считается идентичным имени пользователя для входящей почты или адресу электронной почты (если имя пользователя для входящей почты не указано).

Методы доступа:

  • QString outgoingUsername() const
  • void setOutgoingUsername(const QString &username)

Сигнал уведомления:

  • void outgoingUsernameChanged()

Описание функций-членов

EmailAccountProvisioner::EmailAccountProvisioner(QObject *parent = nullptr)

Конструктор для EmailAccountProvisioner с родительским элементом, указанном в параметре parent.

[virtual] bool EmailAccountProvisioner::commitChanges()

Повторно реализуется из Provisioner::commitChanges().

[virtual] bool EmailAccountProvisioner::createAccount()

Повторно реализуется из Provisioner::createAccount().

[virtual] bool EmailAccountProvisioner::selectAccount(quint64 accountId)

Повторно реализуется из Provisioner::selectAccount().

Подготавливает провайдер к модификации/интроспекции учётной записи электронной почты с значением accountId.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.