CINXE.COM
LISTSERV Tech Tip: Why should I restrict message size in LISTSERV and how can I best do this?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://www.lsoft.com/news/techtipLSV-issue1-2021.asp","20240619145621","http://web.archive.org/","web","/_static/", "1718808981"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <link href="http://web.archive.org/web/20240619145621cs_/https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <title>LISTSERV Tech Tip: Why should I restrict message size in LISTSERV and how can I best do this?</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <style type="text/css"> html { width: 100% !important; height: 100% !important; } body, #bodytable { width: 100% !important; height: 100% !important; margin: 0; padding: 0; } body, table, td, p, a, li, blockquote { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } table, td { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } img { -ms-interpolation-mode: bicubic; } img, a img { border: 0; outline: none; text-decoration: none; } .ReadMsgBody { width: 100%; } .ExternalClass { width: 100%; } .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } @media only screen and (max-width: 680px) { .container { width: 100% !important; } .cell { width: 100% !important; display: block !important; } } </style> <style type="text/css"> p.head { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 20px; color: #333333; font-style: normal; font-weight: bold; text-align: left } p.subhead { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 18px; color: #333333; font-style: italic; font-weight: normal; text-align: left } p.sectionhead { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 18px; color: #333333; font-style: normal; font-weight: bold; text-align: left } p.question { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 18px; color: #333333; font-style: normal; font-weight: bold; text-align: left } p.byline { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #666666; font-style: normal; font-weight: normal; text-align: left } p.body { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #333333; font-style: normal; font-weight: normal; text-align: left } p.body a { color: #3366CC; text-decoration: underline; } li.body { font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #333333; font-style: normal; font-weight: normal; text-align: left; margin-bottom: 20px; } li.body a { color: #3366CC; text-decoration: underline; } img.image-bio { margin: 15px 20px 15px 5px; padding: 0px; float: left } img.image-left { margin: 10px 20px 10px 0px; padding: 0px; float: left; } img.image-right { margin: 0px 10px 10px 20px; padding: 0px; float: right; } img.image-center { margin: 5px 5px 15px 5px; padding: 0px; margin-left: auto; margin-right: auto; } div.tweet { float: right; } hr { height: 1px; color: #EAEAEA; border-style: solid; border-color: #EAEAEA; border-width: 1px 0px 0px 0px; } tt { font-size: 15px; } table.code { width: 100%; max-width: 660px; overflow: auto; background-color: #FAFAFA; border: 1px solid #EAEAEA; } td.code { padding: 10px; } .width-100 { width: 100%; } .cell-left { text-align: left; } .cell-right { text-align: right; } @media only screen and (max-width: 680px) { img.image-left { width: 100%; float: none; margin-left: auto; margin-right: auto; } img.image-right { display: none; } img.image-center { width: 100%; } } @media only screen and (max-width: 550px) { .cell-left { display: block; text-align: left; } .cell-right { display: block; text-align: left; } } </style> </head> <body bgcolor="#FFFFFF" style="background-color: #FFFFFF"> <style type="text/css"> @media only screen and (max-width: 680px) { .container { width: 100% !important; } .cell { width: 100% !important; display: block !important; } } </style> <table border="0" cellpadding="0" cellspacing="0" height="100%" id="bodytable" style="width: 100%; height: 100%; margin: 0px; padding: 0px; min-width: 320px" width="100%"> <tr> <td align="center" bgcolor="#FFFFFF" style="background-color: #FFFFFF; vertical-align: top" valign="top"> <div><br/></div> <table border="0" cellpadding="0" cellspacing="0" class="container" style="border: 1px solid #EAEAEA; width: 680px" width="680"> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" style="width: 100% !important" width="100%"> <tr> <td bgcolor="#FFFFFF" style="background-color: #FFFFFF; padding: 0px"><div><a href="issue1-2021.asp"><img alt="LISTSERV at Work" src="/web/20240619145621im_/https://www.lsoft.com/news/lw/header2019.jpg" style="display: block; height: auto; width: 100%" width="678"/></a></div></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%" width="100%"> <tr> <td bgcolor="#FFFFFF" style="background-color: #FFFFFF"> <table border="0" cellpadding="0" cellspacing="0" style="width: 100% !important" width="100%"> <tr> <td class="cell" style="width: 100%" width="100%"> <table border="0" cellpadding="0" cellspacing="0" style="width: 100% !important" width="100%"> <tr> <td style="padding: 10px 15px 10px 15px"> <div class="tweet"><a href="http://web.archive.org/web/20240619145621/http://twitter.com/share?url=http%3A%2F%2Fwww.lsoft.com%2Fnews%2FtechtipLSV-issue1-2021.asp&text=Why%20should%20I%20restrict%20message%20size%20in%20LISTSERV%20and%20how%20can%20I%20best%20do%20this%3F&via=LSoftLISTSERV&hashtags=LISTSERV,attachments" target="_blank"><img src="/web/20240619145621im_/https://www.lsoft.com/news/lw/tweetthis.png" alt="Tweet This" title="Tweet This" border="0"/></a></div> <table border="0" cellpadding="0" cellspacing="0"> <tr><td style="background-color: #0F40D8; padding: 8px 10px 8px 10px"><div style="font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #FFFFFF; font-style: normal; font-weight: normal; text-align: left"><b>LISTSERV</b> Tech Tip</div></td></tr> </table> <p class="question">Q: Why should I restrict message size in LISTSERV and how can I best do this?</p> <p class="byline">By Jacob Haller<br/>Senior Support Engineer, L-Soft</p> <p class="body">It's common for people to use mailing lists to share attachments, and this doesn't usually cause any problems if the attachments are small and the mailing list has relatively few subscribers. However, there are some pitfalls to avoid, particularly if someone sends a very large attachment to a mailing list with a lot of subscribers.</p> <p class="body">This tip is split into several sections. The first two deal with why you might want to restrict the size of messages allowed on your mailing lists, and the last two focus on the best ways to accomplish this.</p> <p class="sectionhead">Why Your Subscribers May Not Want Large Attachments</p> <p class="body">Attachments can prove problematic for recipients for a variety of reasons:</p> <ul> <li class="body">While some mail systems can accept attachments that are many megabytes in size, many others have a limit on the size of messages that they will accept. For subscribers using such systems, messages with large attachments may not arrive at all. Additionally, if these messages bounce, then the subscribers may be automatically removed from the mailing list, depending on its configuration.</li> <li class="body">Most email providers only allocate a certain amount of space for each user's mail, and messages with large attachments eat into that valuable space.</li> <li class="body">Even if the size of the message itself is not a problem, some sites may not accept certain types of attachments (notably .exe files, but some may not even accept .doc files) due to security concerns.</li> <li class="body">If your mailing list has a large number of subscribers at a single site, then a flurry of messages with large attachments may overload their mail server, leading to mail delays.</li> </ul> <p class="sectionhead">LISTSERV Resource Considerations</p> <p class="body">Messages with large attachments also take up extra LISTSERV resources. In particular, if a mailing list is configured with "Mail-Merge= Yes", then LISTSERV must create a separate .mail file (each containing a copy of the message) for each subscriber in its spool directory.</p> <p class="body">So, for instance, if you have a "Mail-Merge= Yes" mailing list with 50,000 subscribers, and someone sends a message with a 5MB attachment to it, then LISTSERV will need 5MB * 50,000 copies = 250GB of free disk space in order to process the mailing. Since LISTSERV deletes the mailing from the spool directory after it has been delivered, this can lead to a puzzling situation where LISTSERV claims to have run out of space, even though (when the situation is investigated after the mailing is completed) it seems to have many GB of space free. LISTSERV will then deliver all of these messages to its outgoing mail server, which may risk overwhelming that server as well.</p> <p class="body">This problem is made even more extreme if multiple messages with attachments are sent to large mailing lists in a short period of time. Additionally, be aware that these rule of thumb estimates are always going to be a bit on the low side. There is always some additional overhead resulting from encoding the attachments for transmission via email and so on.</p> <p class="body">If the server that LISTSERV is installed on does run out of disk space, even for a short period of time, this can have dire consequences: subscribers not receiving messages (or receiving multiple copies of messages), files becoming corrupted, crashes, etc.</p> <p class="body">An additional issue may arise if the messages are sent to a mailing list with archives as those will also take up space on the server and will increase memory usage when the messages containing the attachments are accessed by users. LISTSERV has ways to minimize the amount of system resources used in these circumstances, but servers with tight constraints on disk space or memory usage could run into problems.</p> <p class="sectionhead">Ways To Restrict Message Size Within LISTSERV</p> <p class="body"><b>The <i>FILEMAXL</i> Site Configuration Setting</b></p> <p class="body">The FILEMAXL setting, available under "Server Administration -> Site Configuration" in the web interface under the "Optimization" tab (Expert Mode), tells LISTSERV not to process jobs that have more than a certain number of lines. If a message exceeds the FILEMAXL size, then LISTSERV will not process it and a notification will be sent to the site administrators only. A rejection message is not generated in this case as LISTSERV would need to process the message in order to determine to whom to send the rejection message, and it can't process the message because it's too big.</p> <div align="center"><img alt="" title="" src="/web/20240619145621im_/https://www.lsoft.com/news/issue1-2021/techtip-lsv1.gif" class="image-center"/></div> <p class="body">FILEMAXL is measured in the number of lines the message contains, including the text of the message, the lines of HTML code if the message is formatted using HTML, and the number of lines used by any encoded attachments included with the message. Since the number of characters per line is generally not going to be exactly the same between two messages, the rule of thumb is that 1MB is roughly between 13,000 lines (at 80 characters per line) and 16,000 lines (at 65 characters per line). The default value of FILEMAXL is 500,000, which is roughly between 30 and 40MB.</p> <p class="body">Since the sender isn't notified when FILEMAXL is exceeded, and its value can't be specified in kilobytes or megabytes, this setting can generally be set fairly liberally (or leaving it at its default value), and then further restricting the message size for individual mailing lists as follows.</p> <p class="body"><b>The <i>SizeLim</i> Mailing List Setting</b></p> <p class="body">You can set a smaller limit for individual mailing lists using the "SizeLim" mailing list setting, which is available under "List Management -> List Configuration" under the "Attachments" tab. It can be specified in kilobytes or megabytes.</p> <div align="center"><img alt="" title="" src="/web/20240619145621im_/https://www.lsoft.com/news/issue1-2021/techtip-lsv2.gif" class="image-center"/></div> <p class="body">If a message exceeds the SizeLim limit but is smaller than the FILEMAXL limit, then a rejection message will be sent to the sender of the message. The rejection message is based on the MSG_POSTING_REJECT_EXCEED_SIZELIM mail template, which can be accessed and edited under "List Management -> Mail Templates" (to customize it for a specific mailing list) or "Server Administration -> Mail Templates" (to customize the default version used sitewide).</p> <div align="center"><img alt="" title="" src="/web/20240619145621im_/https://www.lsoft.com/news/issue1-2021/techtip-lsv3.gif" class="image-center"/></div> <p class="body"><b>Other Settings Related to Attachments</b></p> <p class="body">Depending on the purpose of a mailing list, it may make sense to disallow attachments altogether. If this is desired, you can use "Attachments= No" or "Attachments= No,Filter". With "Filter", messages will be distributed with any attachments removed. Without it, messages with attachments will be rejected outright. Note that this may have undesirable effects if users have signatures that include small images as those are typically included as attachments in their messages, so use these settings with caution.</p> <p class="body">More complicated "Attachments" settings are also possible. Details can be found in the <a href="http://web.archive.org/web/20240619145621/http://www.lsoft.com/manuals/17.0/listkwd/kAttachments.html" target="_blank">List Keyword Reference Guide</a> and in the below video tutorial.</p> <table class="width-100"> <tr> <td style="padding-right: 5px"><a href="http://web.archive.org/web/20240619145621/https://youtu.be/ronYOW0eQlk" target="_blank"><img src="/web/20240619145621im_/https://www.lsoft.com/images/play.png" alt=""/></a></td> <td><p class="body"><a href="http://web.archive.org/web/20240619145621/https://youtu.be/ronYOW0eQlk" target="_blank">How can I restrict the size or type of attachments allowed on my list?</a></p></td> </tr> </table> <p class="sectionhead">Alternatives To Sending Attachments To Mailing Lists</p> <p class="body">In general, it's better to send a link to a large attachment to a mailing list rather than sending the attachment itself. There are numerous file sharing solutions out there that can be used for this purpose, including Dropbox, Google Drive, Sendspace, OneDrive, and so on.</p> <p class="body">If the mailing lists are used for communication within your company or organization, then check to see if your organization has a preferred file-sharing platform since there may be a policy over where files containing confidential information can be stored, for instance.</p> <p class="body">Otherwise, file-sharing sites like these generally work pretty similarly, so L-Soft doesn't specifically recommend one of them over any of the others.</p> <p class="sectionhead">Got Feedback?</p> <table class="width-100"> <tr> <td class="width-100 cell-left"><p class="body">What kind of tech tips would you like to read next?</p></td> <td class="cell-right"><a href="http://web.archive.org/web/20240619145621/mailto:editor@lsoft.com"><img alt="Get in Touch" title="Get in Touch" src="/web/20240619145621im_/https://www.lsoft.com/news/lw/icon_getintouch.png" style="display: block"/></a></td> </tr> </table> <br/> <p class="sectionhead">Next Steps</p> <style type="text/css"> .width-100 { width: 100%; } td.circle-left { width: 210px; height: 200px; background-image: url("/web/20240619145621im_/https://www.lsoft.com/images/icon_support.png"); background-repeat: no-repeat; background-position: center; cursor: pointer; } td.circle-middle { width: 210px; height: 200px; background-image: url("/web/20240619145621im_/https://www.lsoft.com/images/icon_sales.png"); background-repeat: no-repeat; background-position: center; cursor: pointer; } td.circle-right { width: 210px; height: 200px; background-image: url("/web/20240619145621im_/https://www.lsoft.com/images/icon_information.png"); background-repeat: no-repeat; background-position: center; cursor: pointer; } div.trigger { font-family: 'Montserrat', sans-serif; color: #FFFFFF; font-size: 18px; font-weight: bold; text-align: center; width: 210px; height: 200px; margin-left: auto; margin-right: auto; } div.spacing { width: 180px; margin-left: auto; margin-right: auto; padding-top: 80px; } div.trigger a { color: #FFFFFF; text-decoration: none; } @media (max-width: 767px) { td.circle-left { width: 100% !important; display: block !important; height: 200px; } td.circle-middle { width: 100% !important; display: block !important; height: 200px; } td.circle-right { width: 100% !important; display: block !important; height: 200px; } } </style> <script type="text/javascript"> function goTo(dot) { if (dot == 1) { window.open('/products/listserv.asp','_blank') } if (dot == 2) { window.open('/resources/techtip.asp?filter=listserv','_blank') } if (dot == 3) { window.open('/contact/econtact.asp?id=sales','_blank') } } </script> <table class="width-100"> <tr> <td class="circle-left" onclick="goTo(1)"><div class="trigger"><div class="spacing"><a href="/web/20240619145621/https://www.lsoft.com/products/listserv.asp" target="_blank">Learn More About LISTSERV</a></div></div></td> <td class="circle-middle" onclick="goTo(2)"><div class="trigger"><div class="spacing"><a href="/web/20240619145621/https://www.lsoft.com/resources/techtip.asp?filter=listserv" target="_blank">See More LISTSERV Tech Tips</a></div></div></td> <td class="circle-right" onclick="goTo(3)"><div class="trigger"><div class="spacing"><a href="/web/20240619145621/https://www.lsoft.com/contact/econtact.asp?id=sales" target="_blank">Contact Sales and Customer Service</a></div></div></td> </tr> </table> <br/> </td> </tr> </table> </td> </tr> </table> </td> </tr> <table border="0" cellpadding="0" cellspacing="0" style="width: 100% !important" width="100%"> <tr> <td bgcolor="#FAA705" style="background-color: #FAA705; padding: 10px 15px 10px 15px"><div style="font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #FFFFFF; font-weight: normal; font-style: normal; text-align: right">© L-Soft 2021. All Rights Reserved.</div></td> </tr> </table> </td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" class="container" style="width: 680px" width="680"> <tr> <td> <div><br/></div> <br/> <script type="text/javascript" src="http://web.archive.org/web/20240619145621js_/https://platform-api.sharethis.com/js/sharethis.js#property=651f3fbd6ee9de001217ae6d&product=inline-share-buttons&source=platform" async="async"></script> <div class="sharethis-inline-share-buttons"></div> <br/> <br/> <div style="text-align: center"><a href="/web/20240619145621/https://www.lsoft.com/go/maestro101.asp" target="_blank"><img src="/web/20240619145621im_/https://www.lsoft.com/images/maestro-powered.png" alt="Powered by LISTSERV Maestro" title="Powered by LISTSERV Maestro"/></a></div> <br/> <div style="font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #333333; font-style: normal; font-weight: normal; text-align: center; line-height: 1.3"><a href="http://web.archive.org/web/20240619145621/https://maestro.lsoft.com/list/subscribe.html?mContainer=277&mOwner=G1d1f1g&mListId=HL%23719" target="_blank" style="font-family: 'Montserrat', 'Segoe UI', sans-serif; font-size: 15px; color: #3366CC; font-style: normal; font-weight: normal; text-align: right; text-decoration: underline">Subscribe to This Newsletter</a></div> <br/> <br/> <script async src="http://web.archive.org/web/20240619145621js_/https://www.googletagmanager.com/gtag/js?id=UA-3167554-2"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-3167554-2'); </script> </td> </tr> </table> </td> </tr> </table> </body> </html><!-- FILE ARCHIVED ON 14:56:21 Jun 19, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 13:38:37 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.713 exclusion.robots: 0.037 exclusion.robots.policy: 0.022 esindex: 0.014 cdx.remote: 114.324 LoadShardBlock: 167.97 (3) PetaboxLoader3.datanode: 169.292 (4) PetaboxLoader3.resolve: 110.507 (2) load_resource: 157.514 -->