{"id":28462584,"url":"https://github.com/tutao/mapirs","last_synced_at":"2025-07-01T04:32:43.940Z","repository":{"id":44729934,"uuid":"395335350","full_name":"tutao/mapirs","owner":"tutao","description":"Translate Windows MAPI calls to command line arguments","archived":false,"fork":false,"pushed_at":"2024-08-11T21:39:25.000Z","size":96,"stargazers_count":11,"open_issues_count":2,"forks_count":5,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-06-07T04:32:05.009Z","etag":null,"topics":["windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tutao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-12T13:52:38.000Z","updated_at":"2025-03-30T10:01:44.000Z","dependencies_parsed_at":"2022-08-30T01:20:31.080Z","dependency_job_id":null,"html_url":"https://github.com/tutao/mapirs","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/tutao/mapirs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tutao%2Fmapirs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tutao%2Fmapirs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tutao%2Fmapirs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tutao%2Fmapirs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tutao","download_url":"https://codeload.github.com/tutao/mapirs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tutao%2Fmapirs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262897497,"owners_count":23381433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["windows"],"created_at":"2025-06-07T04:30:38.467Z","updated_at":"2025-07-01T04:32:43.910Z","avatar_url":"https://github.com/tutao.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mapirs\n\nThis is a small, windows-only dynamic library that can be used to translate Windows MAPI calls to command line\narguments.\n\nIt handles calls to the functions defined in the mapi.h header, which is not available directly from Microsoft anymore.\nYou can get it from https://github.com/stephenegriffin/MAPIStubLibrary/blob/master/include/MAPI.h\n\nThe main purpose is to enable Tutanota Desktop on Windows to handle requests to send files via mail, like they can be\nissued via the File Explorer context menu or in programs like MS Office and LibreOffice.\n\n# Build\n\n## Compile on windows\n\nThe project is set up to compile for the `x86_64-pc-windows-gnu` target by default, so if you're developing on windows,\nyou'll have to override `.cargo/config.toml` as shown in the **\"Commands\"** section below.\n\n### Prerequisites\n\n* Microsoft Visual C++ 2019 build tools\n* cargo\n\n### Commands\n\n`cargo build --target \"x86_64-pc-windows-msvc\"`\n\nor\n\n`cargo build --release --target \"x86_64-pc-windows-msvc\"`\n\nthe dll will be placed in `./target/x86_64-pc-windows-msvc/{release,debug}/mapirs.dll`\n\n## Crosscompile on Linux\n\nThe project is set up so \"cargo build\" will use the `x86_64-pc-windows-gnu` target. Running tests requires wine to be\ninstalled.\n\n### Prerequisites\n\n* package gcc-mingw-w64\n* cargo\n* wine\n\n### Commands\n\n`cargo build`\n\nor\n\n`cargo build --release`\n\nthe dll will be placed in `./target/x86_64-pc-windows-gnu/{release,debug}/mapirs.dll`\n\n# Notes\n\n* To get the IntelliJ IDEA Rust Plugin to ignore/check code that is inactive due to attributes like\n  `#[cfg(target_os = \"windows\")]`, open `Ctrl + Shift + A -\u003e Registry... ` and toggle `org.rust.lang.cfg.attributes`\n* licenses.html has been generated with https://github.com/EmbarkStudios/cargo-about :\n  `cargo-about init` and then `cargo-about generate about.hbs \u003e licenses.html`\n* the CI script uses clippy and rustfmt to check the code, so run `cargo clippy` and `cargo fmt` before committing (in that\n  order)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftutao%2Fmapirs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftutao%2Fmapirs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftutao%2Fmapirs/lists"}