Server IP : 111.118.215.189 / Your IP : 3.18.102.38 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/mail/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:42 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/mail/feedmail.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defconst feedmail-patch-level "11-beta-1") (byte-code "\300\301!\210\302\303\304\"\210\305\306\307\310\311\312\311\313\314\315& \210\305\316\307\317\314\306%\210\305\320\307\321\314\306%\210\305\322\307\323\314\306%\210\305\324\307\325\314\306%\210\326\327\307\330\314\316\331\332&\210\326\333\334\335\336\337\314\316\331\332& \210\326\340\307\341\336\337\314\316\331\342& \210\326\343\344\345\314\320\331\332&\210\326\346\344\347\314\320\331\332&\210\326\350\307\351\314\320\331\332&\210\326\352\344\353\314\320\331\332&\210\326\354\355\356\314\320\331\357&\210\326\360\307\361\314\320\331\332&\210\326\362\307\363\314\320\331\364&\210\326\365\307\366\314\320\331\332&\210\326\367\344\370\314\320\331\332&\210\326\371\307\372\314\320\331\373&\210\326\374\344\375\314\316\331\332&\210\326\376\344\377\314\320\331\201@ &\210\326\201A \307\201B \336\337\314\320\331\332& \210\326\201C \344\201D \314\320\331\332&\210\326\201E \307\201F \314\320\331\201G &\210\326\201H \344\201I \314\320\331\201J &\210\326\201K \344\201L \314\320\331\201M &\210\326\201N \307\201O \314\320\331\201P &\210\326\201Q \344\201R \314\320\331\201S &\210\326\201T \344\201U \314\320\331\332&\210\326\201V \307\201W \314\320\331\201X &\210\326\201Y \307\201Z \314\201[ \331\332&\207" [require mail-utils autoload mail-do-fcc "sendmail" custom-declare-group feedmail nil "Assist other email packages to massage outgoing messages." :link (url-link "http://www.carpenter.org/feedmail/feedmail.html") (emacs-commentary-link "feedmail") :group mail feedmail-misc "Miscellaneous feedmail options that don't fit in other groups." feedmail-headers "Options related to manipulating specific headers or types of headers." feedmail-queue "Options related to queuing messages for later sending." feedmail-debug "Options related to debug messages for later sending." custom-declare-variable feedmail-confirm-outgoing "If non-nil, give a y-or-n confirmation prompt before sending mail.\nThis is done after the message is completely prepped, and you'll be\nlooking at the top of the message in a buffer when you get the prompt.\nIf set to the symbol 'queued, give the confirmation prompt only while\nrunning the queue (however, the prompt is always suppressed if you are\nprocessing the queue via `feedmail-run-the-queue-no-prompts'). If set\nto the symbol 'immediate, give the confirmation prompt only when\nsending immediately. For any other non-nil value, prompt in both\ncases. You can give a timeout for the prompt; see variable\n`feedmail-confirm-outgoing-timeout'." :type boolean feedmail-display-full-frame 'queued "If non-nil, show prepped messages in a full frame.\nIf nil, the prepped message will be shown, for confirmation or\notherwise, in some window in the current frame without resizing\nanything. That may or may not display enough of the message to\ndistinguish it from others. If set to the symbol 'queued, take\nthis action only when running the queue. If set to the symbol\n'immediate, take this action only when sending immediately. For\nany other non-nil value, take the action in both cases. Even if\nyou're not confirming the sending of immediate or queued messages,\nit can still be interesting to see a lot about them as they are\nshuttled robotically onward." :version "24.1" feedmail-confirm-outgoing-timeout "If non-nil, a timeout in seconds at the send confirmation prompt.\nIf a positive number, it's a timeout before sending. If a negative\nnumber, it's a timeout before not sending. This will not work if your\nversion of Emacs doesn't include the function `y-or-n-p-with-timeout'\n(e.g., some versions of XEmacs)." (choice (const nil) integer) feedmail-nuke-bcc t "If non-nil remove Bcc: lines from the message headers.\nIn any case, the Bcc: lines do participate in the composed address\nlist. You may want to leave them in if you're using sendmail\n(see `feedmail-buffer-eating-function')." feedmail-nuke-resent-bcc "If non-nil remove Resent-Bcc: lines from the message headers.\nIn any case, the Resent-Bcc: lines do participate in the composed\naddress list. You may want to leave them in if you're using sendmail\n(see `feedmail-buffer-eating-function')." feedmail-deduce-bcc-where "Where Bcc:/Resent-Bcc: addresses should appear in the envelope list.\nAddresses for the message envelope are deduced by examining\nappropriate address headers in the message. Generally, they will show\nup in the list of deduced addresses in the order that the headers\nhappen to appear (duplicate addresses are eliminated in any case).\nThis variable can be set to the symbol 'first, in which case the\nBcc:/Resent-Bcc: addresses will appear at the beginning in the list;\nor, it can be set to the symbol 'last, in which case they will appear\nat the end of the list.\n\nWhy should you care? Well, maybe you don't, and certainly the same\nthings could be accomplished by affecting the order of message headers\nin the outgoing message. Some people use Bcc: as a way of getting\ntheir own \"come back\" copy of each message they send. If Bcc:\naddresses are not handled first, there can be substantial delays in\nseeing the message again. Some configurations of sendmail, for example,\nseem to try to deliver to each addressee at least once, immediately\nand serially, so slow SMTP conversations can add up to a delay. There\nis an option for either 'first or 'last because you might have a\ndelivery agent that processes the addresses backwards." feedmail-fill-to-cc "If non-nil do smart filling of addressee header lines.\nSmart filling means breaking long lines at appropriate points and\nmaking continuation lines. Despite the function name, it includes\nTo:, Cc:, Bcc: (and their Resent-* forms), as well as From: and\nReply-To: (though they seldom need it). If nil, the lines are left\nas-is. The filling is done after mail address alias expansion." feedmail-fill-to-cc-fill-column default-fill-column "Fill column used by `feedmail-fill-to-cc'." integer feedmail-nuke-bcc-in-fcc "If non-nil remove [Resent-]Bcc: lines in message copies saved via Fcc:.\nThis is independent of whether the Bcc: header lines are actually sent\nwith the message (see feedmail-nuke-bcc). Though not implied in the name,\nthe same Fcc: treatment applies to both Bcc: and Resent-Bcc: lines." feedmail-nuke-body-in-fcc "If non-nil remove body of message in copies saved via Fcc:.\nIf a positive integer value, leave (up to) that many lines of the\nbeginning of the body intact. The result is that the Fcc: copy will\nconsist only of the message headers, serving as a sort of an outgoing\nmessage log." (choice (const nil) (const t) integer) feedmail-force-expand-mail-aliases "If non-nil, force the calling of `expand-mail-aliases'.\nNormally, feedmail tries to figure out if you're using mailalias or\nmailabbrevs and only calls `expand-mail-aliases' if it thinks you're\nusing the mailalias package. This user option can be used to force\nthe issue since there are configurations which fool the figuring\nout." feedmail-nuke-empty-headers "If non-nil, remove header lines which have no contents.\nA completely empty Subject: header is always removed, regardless of\nthe setting of this variable. The only time you would want them left\nin would be if you used some headers whose presence indicated\nsomething rather than their contents. This is rare in Internet email\nbut common in some proprietary systems." feedmail-sender-line "If non-nil and the email has no Sender: header, use this value.\nMay be nil, in which case nothing in particular is done with respect\nto Sender: lines. By design, will not replace an existing Sender:\nline, but you can achieve that with a fiddle-plex 'replace action.\nNB: it makes no sense to use the value t since there is no sensible\ndefault for Sender:.\n\nIf not nil, it may be a string, a fiddle-plex, or a function which\nreturns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous). If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline. If a function, it will be called\nwith no arguments. For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'. In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Sender\" or \"Resent-Sender\".\n\nYou can probably leave this nil, but if you feel like using it, a good\nvalue would be a string of a fully-qualified domain name form of your\naddress. For example, \"bill@example.net (WJCarpenter)\". The Sender:\nheader is fiddled after the From: header is fiddled." (choice (const nil) string) feedmail-force-binary-write "If non-nil, force writing file as binary (this applies to queues and Fcc:).\nOn systems where there is a difference between binary and text files,\nfeedmail will temporarily manipulate the value of `buffer-file-type'\nto make the writing as binary. If nil, writing will be in text mode.\nOn systems where there is no distinction or where it is controlled by other\nvariables or other means, this option has no effect." feedmail-from-line "If non-nil and the email has no From: header, use this value.\nMay be t, in which case a default is computed (and you probably won't\nbe happy with it). May be nil, in which case nothing in particular is\ndone with respect to From: lines. By design, will not replace an\nexisting From: line, but you can achieve that with a fiddle-plex 'replace\naction.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous). If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline. If a function, it will be called\nwith no arguments. For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'. In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"From\" or \"Resent-From\".\n\nA good value would be a string fully-qualified domain name form of\nyour address. For example, \"bill@example.net (WJCarpenter)\". The\ndefault value of this variable uses the standard elisp variable\n`user-mail-address' which should be set on every system but has a decent\nchance of being wrong. It also honors `mail-from-style'. Better to set\nthis variable explicitly to the string you want or find some other way\nto arrange for the message to get a From: line." (choice (const t) (const nil) string) feedmail-sendmail-f-doesnt-sell-me-out "Says whether the sendmail program issues a warning header if called with \"-f\".\nThe sendmail program has a useful feature to let you set the envelope FROM\naddress via a command line option, \"-f\". Unfortunately, it also has a widely\ndisliked default behavior of selling you out if you do that by inserting\nan unattractive warning in the headers. It looks something like this:\n\n X-Authentication-Warning: u1.example.com: niceguy set sender to niceguy@example.com using -f\n\nIt is possible to configure sendmail to not do this, but such a reconfiguration\nis not an option for many users. As this is the default behavior of most\nsendmail installations, one can mostly only wish it were otherwise. If feedmail\nbelieves the sendmail program will sell you out this way, it won't use the \"-f\"\noption when calling sendmail. If it doesn't think sendmail will sell you out,\nit will use the \"-f\" (since it is a handy feature). You control what\nfeedmail thinks with this variable. The default is nil, meaning that feedmail\nwill believe that sendmail will sell you out." feedmail-deduce-envelope-from "If non-nil, deduce message envelope \"from\" from header From: or Sender:.\nIn other words, if there is a Sender: header in the message, temporarily\nchange the value of `user-mail-address' to be the same while the message\nis being sent. If there is no Sender: header, use the From: header,\nif any. Address values are taken from the actual message just before\nit is sent, and the process is independent of the values of\n`feedmail-from-line' and/or `feedmail-sender-line'.\n\nThere are many and good reasons for having the message header\nFrom:/Sender: be different from the message envelope \"from\"\ninformation. However, for most people and for most circumstances, it\nis usual for them to be the same (this is probably especially true for\nthe case where the user doesn't understand the difference between the\ntwo in the first place).\n\nThe idea behind this feature is that you can have everything set up\nsome normal way for yourself. If for some reason you want to send a\nmessage with another From: line, you can just type it at the top of\nthe message, and feedmail will take care of \"fixing up\" the envelope\n\"from\". This only works for mail senders which make use of\n`user-mail-address' as the envelope \"from\" value. For some mail\nsenders (e.g., feedmail-buffer-to-bin-mail), there is no simple way to\ninfluence what they will use as the envelope." feedmail-x-mailer-line-user-appendage "See feedmail-x-mailer-line." (choice (const nil) (const t) string) feedmail-x-mailer-line "Control the form of an X-Mailer: header in an outgoing message.\nModerately useful for debugging, keeping track of your correspondents'\nmailer preferences, or just wearing your MUA on your sleeve. You\nshould probably know that some people are fairly emotional about the\npresence of X-Mailer: lines in email.\n\nIf nil, nothing is done about X-Mailer:.\n\nIf t, an X-Mailer: header of a predetermined format is produced,\ncombining its efforts with any existing X-Mailer: header. If you want\nto take the default construct and just add a little blob of your own\nat the end, define the variable feedmail-x-mailer-line-user-appendage\nas that blob string. A value of t is equivalent to using the function\nfeedmail-default-x-mailer-generator.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous). If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline. If a function, it will be called\nwith no arguments. For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'. In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"X-Mailer\" or \"X-Resent-Mailer\"." (choice (const t) (const nil) string function) feedmail-message-id-generator "Specifies the creation of a Message-Id: header field.\n\nIf nil, nothing is done about Message-Id:.\n\nIf t, a Message-Id: header of a predetermined format is produced, but\nonly if there is not already a Message-Id: in the message. A value of\nt is equivalent to using the function feedmail-default-message-id-generator.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous). If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline. If a function, it will be called\nwith one argument: the possibly-nil name of the file associated with\nthe message buffer. For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'. In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Message-Id\" or \"Resent-Message-Id\".\n\nYou should let feedmail generate a Message-Id: for you unless you are sure\nthat whatever you give your messages to will do it for you (e.g., most\nconfigurations of sendmail). Even if the latter case is true, it\nprobably won't hurt you to generate your own, and it will then show up\nin the saved message if you use Fcc:." (choice (const t) (const nil) function) feedmail-message-id-suffix "If non-nil, used as a suffix for generating unique Message-Id: headers.\nThe function `feedmail-default-message-id-generator' creates its work based\non a formatted date-time string, a random number, and a domain-looking suffix.\nYou can control the suffix used by assigning a string value to this variable.\nIf you don't supply one, the value of the variable `user-mail-address' will be\nused. If the value of `feedmail-message-id-suffix' contains an \"@\" character,\nthe string will be used verbatim, else an \"@\" character will be prepended\nautomatically." (choice (const nil) string) feedmail-date-generator "Specifies the creation of a Date: header field.\n\nIf nil, nothing is done about Date:.\n\nIf t, a Date: header of a predetermined format is produced, but only\nif there is not already a Date: in the message. A value of t is\nequivalent to using the function `feedmail-default-date-generator'.\n\nIf neither nil nor t, it may be a string, a fiddle-plex, or a function\nwhich returns either nil, t, a string, or a fiddle-plex (or, in fact,\nanother function, but let's not be ridiculous). If a string, it\nshould be just the contents of the header, not the name of the header\nitself nor the trailing newline. If a function, it will be called\nwith one argument: the possibly-nil name of the file associated with\nthe message buffer. For an explanation of fiddle-plexes, see the\ndocumentation for the variable `feedmail-fiddle-plex-blurb'. In all\ncases the name element of the fiddle-plex is ignored and is hardwired\nby feedmail to either \"Date\" or \"Resent-Date\".\n\nIf you decide to format your own date field, do us all a favor and know\nwhat you're doing. Study the relevant parts of RFC-822 and RFC-1123.\nDon't make me come up there!\n\nYou should let feedmail generate a Date: for you unless you are sure\nthat whatever you give your messages to will do it for you (e.g., most\nconfigurations of sendmail). Even if the latter case is true, it\nprobably won't hurt you to generate your own, and it will then show up\nin the saved message if you use Fcc:." (choice (const t) (const nil) function) feedmail-fiddle-headers-upwardly "Non-nil means fiddled header fields should go at the top of the header.\nnil means insert them at the bottom. This is mostly a novelty issue since\nthe standards define the ordering of header fields to be immaterial and it's\nfairly likely that some MTA/MUA along the way will have its own idea of what the\norder should be, regardless of what you specify." feedmail-fiddle-plex-user-list "If non-nil, should be a list of one or more fiddle-plexes.\nEach element of the list can also be a function which returns a\nfiddle-plex.\n\nfeedmail will use this list of fiddle-plexes to manipulate user-specified\nmessage header fields. It does this after it has completed all normal\nmessage header field manipulation and before calling `feedmail-last-chance-hook'.\n\nFor an explanation of fiddle-plexes, see the documentation for the\nvariable `feedmail-fiddle-plex-blurb'. In contrast to some other fiddle-plex\nmanipulation functions, in this context, it makes no sense to have an element\nwhich is nil, t, or a simple string." (repeat (choice function) sexp) feedmail-enable-spray "If non-nil, transmit message separately to each addressee.\nfeedmail normally accumulates a list of addressees and passes the message\nalong with that list to a buffer-eating function which expects any number\nof addressees. If this variable is non-nil, however, feedmail will\nrepeatedly call the same buffer-eating function. Each time, the list of\naddressees will be just one item from the original list. This only affects\nthe message envelope addresses and doesn't affect what appears in the\nmessage headers except as noted.\n\nSpray mode is usually pointless, and if you can't think of a good reason for\nit, you should avoid it since it is inherently less efficient than normal\nmultiple delivery. One reason to use it is to overcome mis-featured mail\ntransports which betray your trust by revealing Bcc: addressees in the\nheaders of a message. Another use is to do a crude form of mailmerge, for\nwhich see `feedmail-spray-address-fiddle-plex-list'.\n\nIf one of the calls to the buffer-eating function results in an error,\nwhat happens next is carelessly defined, so beware. This should get ironed\nout in some future release, and there could be other API changes for spraying\nas well." feedmail-spray] 10) #@81 Do not set this variable, except via `feedmail-spray-address-fiddle-plex-list'. (defvar feedmail-spray-this-address nil (#$ . 21212)) #@2561 User-supplied specification for a crude form of mailmerge capability. When spraying is enabled, feedmail composes a list of envelope addresses. In turn, `feedmail-spray-this-address' is temporarily set to each address (stripped of any comments and angle brackets) and a function is called which fiddles message headers according to this variable. See the documentation for `feedmail-fiddle-plex-blurb', for an overview of fiddle-plex data structures. May be nil, in which case nothing in particular is done about message headers for specific addresses. May be t, in which case a "To:" header is added to the message with the stripped address as the header contents. The fiddle-plex operator is 'supplement. May be a string, in which case the string is assumed to be the name of a message header field with the stripped address serving as the value. The fiddle-plex operator is 'supplement. May be a function, in which case it is called with no arguments and is expected to return nil, t, a string, another function, or a fiddle-plex. The result is used recursively. The function may alter the value of the variable feedmail-spray-this-address, perhaps to embellish it with a human name. It would be logical in such a case to return as a value a string naming a message header like "TO" or an appropriately constructed fiddle-plex. For an example, see feedmail-spray-via-bbdb. May be a list of any combination of the foregoing and/or fiddle-plexes. (A value for this variable which consists of a single fiddle-plex must be nested inside another list to avoid ambiguity.) If a list, each item is acted on in turn as described above. For example, (setq feedmail-spray-address-fiddle-plex-list 'feedmail-spray-via-bbdb) The idea of the example is that, during spray mode, as each message is about to be transmitted to an individual address, the function will be called and will consult `feedmail-spray-this-address' to find the stripped envelope email address (no comments or angle brackets). The function should return an embellished form of the address. The recipe for sending form letters is: (1) create a message with all addressees on Bcc: headers; (2) tell feedmail to remove Bcc: headers before sending the message; (3) create a function which will embellish stripped addresses, if desired; (4) define `feedmail-spray-address-fiddle-plex-list' appropriately; (5) send the message with `feedmail-enable-spray' set non-nil; (6) stand back and watch co-workers wonder at how efficient you are at accomplishing inherently inefficient things. (custom-declare-variable 'feedmail-spray-address-fiddle-plex-list nil '(#$ . 21354) :group 'feedmail-spray :type 'sexp) #@148 Example function for use with feedmail spray mode. NB: it's up to the user to have the BBDB environment already set up properly before using this. (defalias 'feedmail-spray-via-bbdb #[nil "\304\211\211\305\306!\307Q\310\311 \304\211 $\211@\203% \nA\204% \n@\202'