0.0.7 • Published 3 years ago

@lionflence/lion-imap-plugin v0.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

lion-imap-plugin

IMAP functionality for capacitor applications. Currently supports android only with JavaMail 1.6.6. iOS support to come!

Install

npm install @lionflence/lion-imap-plugin
npx cap sync

You will probably receive an error during the android compilation process telling you the following:

2 files found with path 'META-INF/NOTICE.md' from inputs: ...

You can fix this by excluding the files inside of the android packaging options like so:

Add the following inside your android/app/build.gradle file (NOTE: NOT android/build.gradle!):

android {
    ...
    packagingOptions {
        exclude 'META-INF/NOTICE.md'
        exclude 'META-INF/LICENSE.md'
    }
}

API

connect(...)

connect(config: ImapConfig) => Promise<{ connected: boolean; }>
ParamType
configImapConfig

Returns: Promise<{ connected: boolean; }>


isConnected()

isConnected() => Promise<{ connected: boolean; }>

Returns: Promise<{ connected: boolean; }>


disconnect()

disconnect() => Promise<{ disconnected: boolean; }>

Returns: Promise<{ disconnected: boolean; }>


listMailFolders(...)

listMailFolders(call: { pattern: string; }) => Promise<{ folders: string[]; }>
ParamType
call{ pattern: string; }

Returns: Promise<{ folders: string[]; }>


getMessageCountByFolderName(...)

getMessageCountByFolderName(call: { folderName: string; }) => Promise<{ count: number; }>
ParamType
call{ folderName: string; }

Returns: Promise<{ count: number; }>


getMessageByMessageId(...)

getMessageByMessageId(call: { folderName: string; messageId: string; }) => Promise<{ message: Message; }>
ParamType
call{ folderName: string; messageId: string; }

Returns: Promise<{ message: Message; }>


getMessagesByHeader(...)

getMessagesByHeader(call: { headerName: string; headerValue: string; }) => Promise<{ messages: Message[]; }>
ParamType
call{ headerName: string; headerValue: string; }

Returns: Promise<{ messages: Message[]; }>


getFullMessageData(...)

getFullMessageData(call: { folderName: string; messageNumber: number; }) => Promise<{ message: Message; }>
ParamType
call{ folderName: string; messageNumber: number; }

Returns: Promise<{ message: Message; }>


copyToFolder(...)

copyToFolder(call: { sourceFolder: string; destinationFolder: string; messageNums: number[]; }) => Promise<boolean>
ParamType
call{ sourceFolder: string; destinationFolder: string; messageNums: number[]; }

Returns: Promise<boolean>


setFlag(...)

setFlag(call: { folderName: string; messageNums: number[]; flag: string; status: string; }) => Promise<boolean>
ParamType
call{ folderName: string; messageNums: number[]; flag: string; status: string; }

Returns: Promise<boolean>


listMessagesHeadersByConsecutiveNumber(...)

listMessagesHeadersByConsecutiveNumber(call: { folderName: string; start: number; end: number; query?: string; }) => Promise<{ messages: Message[]; }>
ParamType
call{ folderName: string; start: number; end: number; query?: string; }

Returns: Promise<{ messages: Message[]; }>


searchMessages(...)

searchMessages(call: { query: string; page: number; limit: number; folderName: string; }) => Promise<{ messages: Message[]; }>
ParamType
call{ query: string; page: number; limit: number; folderName: string; }

Returns: Promise<{ messages: Message[]; }>


sendMessage(...)

sendMessage(call: { content: string; subject: string; from: string; to: MessageAddress[]; cc: MessageAddress[]; bcc: MessageAddress[]; attachments: any[]; }) => Promise<{ sent: boolean; }>
ParamType
call{ content: string; subject: string; from: string; to: MessageAddress[]; cc: MessageAddress[]; bcc: MessageAddress[]; attachments: any[]; }

Returns: Promise<{ sent: boolean; }>


getThreadForMessage(...)

getThreadForMessage(call: { messageId: string; }) => Promise<{ messages: Message[]; }>
ParamType
call{ messageId: string; }

Returns: Promise<{ messages: Message[]; }>


getAttachmentContent(...)

getAttachmentContent(call: { messageId: string; folderName: string; offset: number; }) => Promise<{ content: string; }>
ParamType
call{ messageId: string; folderName: string; offset: number; }

Returns: Promise<{ content: string; }>


deleteMessage(...)

deleteMessage(call: { messageId: string; }) => Promise<{ deleted: boolean; }>
ParamType
call{ messageId: string; }

Returns: Promise<{ deleted: boolean; }>


moveMessage(...)

moveMessage(call: { messageId: string; folderName: string; }) => Promise<{ moved: boolean; }>
ParamType
call{ messageId: string; folderName: string; }

Returns: Promise<{ moved: boolean; }>


Interfaces

ImapConfig

PropType
usernamestring
imapHoststring
smtpHoststring
imapPortnumber
smtpPortnumber
passwordstring

Message

PropType
messageNumbernumber
messageIdstring
subjectstring
previewTextstring
folderstring
fromMessageAddress[]
toRecipientsMessageAddress[]
receivedDateDate
sentDateDate
bodyContentMessagePart[]
allMessageHeadersMessageHeaders
attachmentsMessageAttachment[]

MessageAddress

PropType
addressstring
personalstring
typestring

Date

Enables basic storage and retrieval of dates and times.

MethodSignatureDescription
toString() => stringReturns a string representation of a date. The format of the string depends on the locale.
toDateString() => stringReturns a date as a string value.
toTimeString() => stringReturns a time as a string value.
toLocaleString() => stringReturns a value as a string value appropriate to the host environment's current locale.
toLocaleDateString() => stringReturns a date as a string value appropriate to the host environment's current locale.
toLocaleTimeString() => stringReturns a time as a string value appropriate to the host environment's current locale.
valueOf() => numberReturns the stored time value in milliseconds since midnight, January 1, 1970 UTC.
getTime() => numberGets the time value in milliseconds.
getFullYear() => numberGets the year, using local time.
getUTCFullYear() => numberGets the year using Universal Coordinated Time (UTC).
getMonth() => numberGets the month, using local time.
getUTCMonth() => numberGets the month of a Date object using Universal Coordinated Time (UTC).
getDate() => numberGets the day-of-the-month, using local time.
getUTCDate() => numberGets the day-of-the-month, using Universal Coordinated Time (UTC).
getDay() => numberGets the day of the week, using local time.
getUTCDay() => numberGets the day of the week using Universal Coordinated Time (UTC).
getHours() => numberGets the hours in a date, using local time.
getUTCHours() => numberGets the hours value in a Date object using Universal Coordinated Time (UTC).
getMinutes() => numberGets the minutes of a Date object, using local time.
getUTCMinutes() => numberGets the minutes of a Date object using Universal Coordinated Time (UTC).
getSeconds() => numberGets the seconds of a Date object, using local time.
getUTCSeconds() => numberGets the seconds of a Date object using Universal Coordinated Time (UTC).
getMilliseconds() => numberGets the milliseconds of a Date, using local time.
getUTCMilliseconds() => numberGets the milliseconds of a Date object using Universal Coordinated Time (UTC).
getTimezoneOffset() => numberGets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC).
setTime(time: number) => numberSets the date and time value in the Date object.
setMilliseconds(ms: number) => numberSets the milliseconds value in the Date object using local time.
setUTCMilliseconds(ms: number) => numberSets the milliseconds value in the Date object using Universal Coordinated Time (UTC).
setSeconds(sec: number, ms?: number | undefined) => numberSets the seconds value in the Date object using local time.
setUTCSeconds(sec: number, ms?: number | undefined) => numberSets the seconds value in the Date object using Universal Coordinated Time (UTC).
setMinutes(min: number, sec?: number | undefined, ms?: number | undefined) => numberSets the minutes value in the Date object using local time.
setUTCMinutes(min: number, sec?: number | undefined, ms?: number | undefined) => numberSets the minutes value in the Date object using Universal Coordinated Time (UTC).
setHours(hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => numberSets the hour value in the Date object using local time.
setUTCHours(hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => numberSets the hours value in the Date object using Universal Coordinated Time (UTC).
setDate(date: number) => numberSets the numeric day-of-the-month value of the Date object using local time.
setUTCDate(date: number) => numberSets the numeric day of the month in the Date object using Universal Coordinated Time (UTC).
setMonth(month: number, date?: number | undefined) => numberSets the month value in the Date object using local time.
setUTCMonth(month: number, date?: number | undefined) => numberSets the month value in the Date object using Universal Coordinated Time (UTC).
setFullYear(year: number, month?: number | undefined, date?: number | undefined) => numberSets the year of the Date object using local time.
setUTCFullYear(year: number, month?: number | undefined, date?: number | undefined) => numberSets the year value in the Date object using Universal Coordinated Time (UTC).
toUTCString() => stringReturns a date converted to a string using Universal Coordinated Time (UTC).
toISOString() => stringReturns a date as a string value in ISO format.
toJSON(key?: any) => stringUsed by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization.

MessagePart

PropType
contentstring
dispositionstring
typestring
fileNamestring

MessageHeaders

MessageAttachment

PropType
contentstring
fileNamestring
typestring
sizenumber
0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago