{"result":{"depiction_url":null,"edges":{"in_module":{"objects":[{"created":"2026-09-29T13:07:42Z","object_id":{"id":1465,"is_a":["text","documentation","reference","module"],"name":"doc_module_mod_mailinglist","title":"mod_mailinglist","uri":"https:\/\/zotonic.com\/id\/1465"},"seq":1}],"predicate":{"id":333,"is_a":["meta","predicate"],"name":"in_module","title":{"_type":"trans","tr":{"en":"In module"}},"uri":"https:\/\/zotonic.com\/id\/in_module"}},"refers":{"objects":[{"created":"2026-09-29T13:31:41Z","object_id":{"id":2706,"is_a":["text","documentation","reference","controller"],"name":"doc_controller_controller_admin_mailing_run","title":"controller_admin_mailing_run","uri":"https:\/\/zotonic.com\/id\/2706"},"seq":1000000}],"predicate":{"id":2409,"is_a":["meta","predicate"],"name":"refers","title":{"_type":"trans","tr":{"en":"Refers"}},"uri":"https:\/\/zotonic.com\/id\/refers"}},"subject":{"objects":[{"created":"2026-09-29T13:31:41Z","object_id":{"id":2555,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_reference","title":"Reference","uri":"https:\/\/zotonic.com\/id\/2555"},"seq":1},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2564,"is_a":["categorization","keyword","keyword_audience"],"name":"zotonic_topic_backend_developer","title":"Backend developer","uri":"https:\/\/zotonic.com\/id\/2564"},"seq":2},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2592,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_authorization_and_access_control","title":"Authorization and access control","uri":"https:\/\/zotonic.com\/id\/2592"},"seq":3},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2595,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_email_delivery","title":"Email delivery","uri":"https:\/\/zotonic.com\/id\/2595"},"seq":4},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2597,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_mailing_lists","title":"Mailing lists","uri":"https:\/\/zotonic.com\/id\/2597"},"seq":5},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2626,"is_a":["categorization","keyword","keyword_architecture"],"name":"zotonic_topic_controller","title":"Controller","uri":"https:\/\/zotonic.com\/id\/2626"},"seq":6},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2672,"is_a":["categorization","keyword","keyword_technology"],"name":"zotonic_topic_html","title":"HTML","uri":"https:\/\/zotonic.com\/id\/2672"},"seq":7},{"created":"2026-09-29T13:31:41Z","object_id":{"id":2685,"is_a":["categorization","keyword","keyword_quality"],"name":"zotonic_topic_security","title":"Security","uri":"https:\/\/zotonic.com\/id\/2685"},"seq":8}],"predicate":{"id":308,"is_a":["meta","predicate"],"name":"subject","title":{"_type":"trans","tr":{"en":"Keyword"}},"uri":"http:\/\/purl.org\/dc\/elements\/1.1\/subject"}}},"id":2708,"is_a":["text","documentation","reference","controller"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2708"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_controller_controller_admin_mailing_run_content","page_url":{"en":"https:\/\/zotonic.com\/docs\/2708\/controller_admin_mailing_run_content","x-default":"https:\/\/zotonic.com\/docs\/2708\/controller_admin_mailing_run_content"},"preview_url":null,"resource":{"version":22,"pivot_location_lat":null,"title":"controller_admin_mailing_run_content","is_authoritative":true,"body":"<p>Serve the saved HTML copy of a mailing run for a specific language.<\/p>\n<p>The <code>admin_mailing_run_content<\/code> dispatch maps\n<code>\/admin\/mailings\/run\/:run_id\/content\/:language<\/code> to this controller. The <code>run_id<\/code>\nidentifies the mailing run and <code>language<\/code> selects its stored copy. The response\ncontains the saved HTML directly; it does not render the current page again.<\/p>\n<h2>Access control<\/h2>\n<p>The controller requires the <code>use mod_mailinglist<\/code> permission and retrieves the\ncopy through <code>m_mailinglist_run:content\/3<\/code>. The model requires visibility of the\nmailed page and edit access to the mailing list. For the test mailing list, the\nauthenticated sender can also access their own run. Missing copies and model\naccess errors are reported as a missing resource.<\/p>\n<h2>Browser isolation<\/h2>\n<p>Responses carry cache prevention and no-index headers. A Content Security Policy\nsandbox blocks scripts and form submissions, restricts framing to the same site,\nand disallows base URLs. Images, styles, and fonts may load over HTTP or HTTPS;\ndata images and inline styles are also allowed. This permits a preview of the\nsaved email layout while keeping its HTML isolated from the administration UI.<\/p>\n<p>See <a href=\"\/id\/doc_controller_controller_admin_mailing_run\" class=\"doc-reference doc-reference-controller\"><code>controller#controller_admin_mailing_run<\/code><\/a> for the history and status pages.<\/p>","slug":"controller_admin_mailing_run_content","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"doc_source_hash":"3258979b1a4ceef7ac3380023399bec65c60acdde362dd4815fa025d1b4fa648","is_featured":false,"content_group_id":{"id":2551,"is_a":["meta","content_group"],"name":"content_group_imported_docs","title":"Imported documentation","uri":"https:\/\/zotonic.com\/id\/content_group_imported_docs"},"category_id":{"id":321,"is_a":["meta","category"],"name":"controller","title":"Controllers","uri":"https:\/\/test.zotonic.com\/id\/321"},"doc_source_path":"apps\/zotonic_mod_mailinglist\/src\/controllers\/controller_admin_mailing_run_content.erl","publication_start":"2026-09-29T13:07:42Z","github_url":"https:\/\/github.com\/zotonic\/zotonic\/blob\/master\/apps\/zotonic_mod_mailinglist\/src\/controllers\/controller_admin_mailing_run_content.erl","pivot_location_lng":null,"doc_source_kind":"controller","name":"doc_controller_controller_admin_mailing_run_content","is_unfindable":false,"is_published":true,"pivot_geocode":null,"created":"2026-09-29T13:07:42Z","uri":null,"doc_status":"current","is_dependent":false,"erlang_app":"zotonic_mod_mailinglist","publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"doc_source_commit":"85498256abd162b9bc082d43a90c995844fd4408\n","erlang_module":"controller_admin_mailing_run_content","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"modified":"2026-09-29T14:40:14Z","title_slug":"controller_admin_mailing_run_content"},"uri":"https:\/\/zotonic.com\/id\/2708","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2708"}},"status":"ok"}