Cordova Email Plugin
Плагин Cordova Email предоставляет доступ к стандартному интерфейсу, который управляет редактированием и отправкой сообщения электронной почты. Вы можете использовать этот контроллер представления для отображения стандартного вида электронной почты внутри вашего приложения и заполнения полей этого вида начальными значениями, такими как тема, получатели электронной почты, основной текст и вложения. Пользователь может редактировать указанное вами исходное содержимое и выбрать отправку электронного письма или отменить операцию.
Использование этого интерфейса не гарантирует немедленную доставку соответствующего сообщения электронной почты. Пользователь может отменить создание сообщения, и если пользователь всё же решит отправить сообщение, оно будет помещено в очередь исходящих сообщений приложения «Почта». Это позволяет вам генерировать электронные письма даже в ситуациях, когда у пользователя нет доступа к сети, например, в режиме полёта. Этот интерфейс не предоставляет способа проверить, были ли электронные письма отправлены на самом деле.
Цель плагина
Цель плагина — создать независимый от платформы интерфейс JavaScript для мобильных приложений на основе Cordova для доступа к определённому API составления электронной почты на каждой платформе.
Обзор
Поддерживаемые платформы — iOS (до iOS8). — Android (до KitKat и L). — WP 8.0 и WP 8.1 Silverlight. — Windows.
Установка Плагин можно установить из репозитория Git, из локальной файловой системы через интерфейс командной строки [CLI] или из облака через PhoneGap Build [PGB].
Локальная среда разработки Из мастера:
# ~~ из ветки master ~~
cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git
из локальной папки:
# ~~ локальная папка ~~
cordova plugin add de.appplant.cordova.plugin.email-composer --searchpath path/to/plugin
или чтобы использовать последнюю стабильную версию:
# ~~ стабильная версия ~~
cordova plugin add de.appplant.cordova.plugin.email-composer@0.8.2
PhoneGap Build Добавьте следующий XML в ваш config.xml, чтобы всегда использовать последнюю версию этого плагина:
<gap:plugin name="de.appplant.cordova.plugin.email-composer" version="0.8.2" />
Более подробную информацию можно найти здесь [PGB_plugin].
ChangeLog
— Добавлено новое пространство имён cordova.plugins.email
Примечание: прежнее пространство имён plugin.email
теперь устарело и будет удалено со следующим основным выпуском.
— [change:] Объединены absolute:
и relative:
в file:
— [change:] Переименован isServiceAvailable
в isAvailable
— [функция:] app:
позволяет указать целевое почтовое приложение на Android
— [функция:] префикс res:
для собственных вложений ресурсов
— [улучшение:] Поддержка вложений на Windows Phone 8.1
— [улучшение:] open
поддерживает обратные вызовы
— [улучшение:] isHTML
можно использовать после isHtml
— [исправление ошибок:] Значения по умолчанию игнорировались
— Вложения res:// не отправляются, даже если они присутствуют при редактировании черновика.
— Теги <img> не работают на Android.
— Обратные вызовы для платформы WP8/Windows вызываются немедленно.
— isAvailable
всегда возвращает true
для платформы WP8/Windows.
— Плагин может аварийно завершить работу на WP8.1/Windows, если вложение не существует.
— См. CHANGELOG.md [changelog], чтобы получить полный журнал изменений для плагина.
Использование плагина
Плагин создаёт объект cordova.plugins.email
со следующими методами:
email.isAvailable
[available].email.open
[open].Плагин и его методы недоступны до тех пор, пока не произойдёт событие deviceready. ### Определение возможности отправки электронных писем
Возможность отправки электронных писем можно проверить через интерфейс email.isAvailable
. Метод принимает функцию обратного вызова, которой передаётся логическое свойство. При необходимости область действия обратного вызова может быть задана в качестве второго параметра.
Сервис электронной почты доступен только на устройствах, способных отправлять электронные письма. Например, на тех, где настроена учётная запись электронной почты и установлено почтовое приложение. Эту функцию можно использовать, чтобы скрыть функциональность электронной почты от пользователей, которые не смогут её использовать.
cordova.plugins.email.isAvailable(
function (isAvailable) {
// alert('Service is not available') unless isAvailable;
}
);
Черновик электронного письма можно открыть через интерфейсы email.open
или email.openDraft
. Метод принимает хеш в качестве аргумента для указания свойств электронного письма. Все свойства являются необязательными. Кроме того, он принимает функцию обратного вызова, которая вызывается после закрытия представления электронного письма.
После открытия черновика пользователь может редактировать, удалять или отправлять электронное письмо.
cordova.plugins.email.open({
to: Array, // адреса электронной почты для поля TO
cc: Array, // адреса электронной почты для поля CC
bcc: Array, // адреса электронной почты для поля BCC
attachments: Array, // пути к файлам или потоки данных в кодировке base64
subject: String, // тема электронного письма
body: String, // тело электронного письма (для HTML установите isHtml в true)
isHtml: Boolean, // указывает, является ли тело HTML или обычным текстом
}, callback, scope);
Следующий пример показывает, как создать и отобразить черновик электронного письма с различными свойствами.
cordova.plugins.email.open({
to: 'max@mustermann.de',
cc: 'erika@mustermann.de',
bcc: ['john@doe.com', 'jane@doe.com'],
subject: 'Greetings',
body: 'How are you? Nice greetings from Leipzig'
});
Конечно, также можно открыть пустой черновик.
cordova.plugins.email.open();
Электронное письмо можно отправить либо в виде текста, либо в формате HTML. В случае HTML необходимо установить свойство isHTML
.
cordova.plugins.email.open({
to: 'max@mustermann.de',
subject: 'Greetings',
body: '<h1>Nice greetings from Leipzig</h1>',
isHtml: true
});
Метод open
поддерживает дополнительный обратный вызов для получения уведомления о закрытии представления.
cordova.plugins.email.open(properties, function () {
console.log('представление электронного письма закрыто');
}, this);
Вложениями могут быть либо данные в кодировке Base64, либо файлы из хранилища устройства, либо ресурсы из папки www.
Приведённый ниже код показывает, как добавить изображение в кодировке Base64 с именем icon.png.
cordova.plugins.email.open({
subject: 'Cordova Icon',
attachments: 'base64:icon.png//iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/...'
});
Путь к файлам должен быть определён абсолютно от корня файловой системы.
cordova.plugins.email.open({
attachments: 'file:///storage/sdcard/icon.png', //=> Android
});
Каждое приложение имеет папку с ресурсами, например, папка res для приложений Android или папка Resource для приложений iOS. Пример того, как прикрепить иконку приложения из папки ресурсов приложения.
cordova.plugins.email.open({
attachments: 'res://icon.png' //=> res/drawable/icon (Android)
});
Как присоединить ресурсы из папки www.
Путь к файлам должен быть определён относительно корня папки мобильного веб-приложения, которая находится в папке www.
cordova.plugins.email.open({
attachments: [
'file://img/logo.png', //=> assets/www/img/logo.png (Android),
'file://css/index.css' //=> www/css/index.css (iOS)
]
});
На Android можно указать почтовое приложение, которое должно открыть черновик для дальнейшего редактирования. По умолчанию email.open
показывает средство выбора со всеми доступными приложениями.
Приложение можно указать по псевдониму или его имени пакета. Псевдоним gmail доступен по умолчанию.
// Добавляем псевдоним приложения
cordova.plugins.email.addAlias('gmail', 'com.google.android.gm');
// Указываем приложение по имени или псевдониму
cordova.plugins.email.open({
app: 'gmail',
subject: 'Sent from Gmail'
})
Даже Android может отображать электронные письма с форматированным HTML, но большинство собственных почтовых клиентов, таких как стандартное приложение или Gmail, поддерживают только форматированный текст при написании писем. Это означает, что CSS использовать нельзя (нет поддержки class и style).
В следующей таблице представлен обзор тегов и атрибутов, которые можно использовать:
Теги и атрибуты | Можно использовать |
---|---|
<a href="..."> | Можно |
<b> | Можно |
<big> | Можно |
<blockquote> | Можно |
<br> | Можно |
<cite> | Можно |
<dfn> | Можно |
<div align="..."> | Можно, кроме right |
<em> | Можно |
<font size="..." color="..." face="..."> | Нельзя |
<h1> | Можно |
<h2> | Можно |
<h3> | Можно |
<h4> | Можно |
<h5> | Можно |
<h6> | Можно |
<i> | Можно |
<img src="..."> | Можно |
<p> | Можно |
<small> | Можно |
<strike> | Можно |
<strong> | Можно |
<sub> | Можно |
<sup> | Можно |
<tt> | Можно |
<u> | Можно |
Вложения и сообщения с телом, отформатированным с помощью HTML+CSS, не поддерживаются собственным API для Windows Phone 8.0 и Windows Phone 8.1 Silverlight.
Ошибка указывает на то, что MessageUI.framework
не связан с вашим проектом. Фреймворк связывается автоматически при установке плагина, но позже может быть удалён.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
objc-class-ref in APPEmailComposer.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
git checkout -b my-new-feature
).git commit -am 'Add some feature'
).git push origin my-new-feature
).Это программное обеспечение выпущено под лицензией Apache 2.0.
© 2013–2014 appPlant UG, Inc. Все права защищены. Кордова (Apache Cordova) — это платформа с открытым исходным кодом, которая позволяет разработчикам создавать мобильные приложения для разных платформ с использованием HTML, CSS и JavaScript.
В документации по платформе Apache Cordova можно найти информацию о том, как использовать интерфейс командной строки (Command-line Interface). Подробные инструкции доступны на сайте: http://cordova.apache.org/docs/en/edge/guide_cli_index.md.html.
Также в документации есть ссылки на другие ресурсы, которые могут быть полезны при работе с платформой:
Платформа Apache Cordova распространяется под лицензией Apache 2.0. С ней можно ознакомиться по ссылке: http://opensource.org/licenses/Apache-2.0.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )