Хобрук: Ваш путь к мастерству в программировании

Программный выбор исходящего почтового сообщения

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

В своем приложении я хочу выбрать это сообщение и назначить его:

MailOutgoingMessage *myMessage;

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

Моя первоначальная мысль заключалась в том, чтобы попробовать это:

mailMessage = [[mail outgoingMessages] lastObject];

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

NSLog(@"Subject = %@",[mailMessage subject]);

всегда возвращает NULL, даже если в поле темы сообщения четко видна тема. NULL возвращается и для любого другого параметра.

Я понимаю, что это должно быть проблема с моим назначением mailMessage выше, потому что единственный раз, когда я получаю NULL для свойств сообщения (или получаю неожиданные результаты), - это когда я пытаюсь указать mailMessage на существующее исходящее сообщение. Если я создам почтовое сообщение с помощью моста сценариев, то смогу правильно получить все свойства.

Кто-нибудь понимает иерархию сценариев Mail в достаточной степени, чтобы сказать мне, почему я получаю NULL для параметров, используя указанное выше назначение для mailMessage? Самый простой способ - взять мое сообщение, чтобы я мог добавить получателей и позже вызвать:

[myMessage send];

метод? Любое понимание было бы полезно. Я потратил неделю на просмотр заголовочного файла mail.h и буквально не знаю, что еще попробовать на данном этапе.


Ответы:


1

Невозможно (отправить, получить или установить свойства исходящего сообщения), созданного пользователем или Safari.

Это ошибка (перестала работать с Mac OS X 10.4) или некоторые соображения конфиденциальности / безопасности.

24.06.2012
  • Что ж, это определенно затруднение ... Что интересно, это действительно работает, хотя временами несколько ненадежно. Я обнаружил, что если я установлю messageSend, как указано выше, я все равно могу добавлять получателей и, в конечном итоге, отправлять сообщение. Это действительно работает. Однако я не могу получить доступ к свойствам полей. Интересно, Apple сломала его только наполовину. Странный. Кажется, что это будет работать намного надежнее, если я вызову: sleep (1); после того, как я скажу сафари отправить сообщение. Если я этого не сделаю, то будет или нет, будут ли получатели добавлены к правильному сообщению. 24.06.2012
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..