1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080
|
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
from spec on 25 November 2000 -->
<TITLE>Exim Specification - 5. The Exim command line</TITLE>
</HEAD>
<body bgcolor="#FFFFFF" text="#00005A" link="#FF6600" alink="#FF9933" vlink="#990000">
Go to the <A HREF="spec_1.html">first</A>, <A HREF="spec_4.html">previous</A>, <A HREF="spec_6.html">next</A>, <A HREF="spec_59.html">last</A> section, <A HREF="spec_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC36" HREF="spec_toc.html#TOC36">5. The Exim command line</A></H1>
<P>
<A NAME="IDX115"></A>
<A NAME="IDX116"></A>
</P>
<P>
Exim's command line takes the standard Unix form of a sequence of options,
each starting with a hyphen character, followed by a number of arguments. The
options are compatible with the main options of Sendmail, and there are also
some additional options, some of which are compatible with Smail 3. Certain
combinations of options do not make sense, and provoke an error if used.
The form of the arguments depends on which options are set.
</P>
<P>
<H2><A NAME="SEC37" HREF="spec_toc.html#TOC37">5.1 Setting options by program name</A></H2>
<P>
<A NAME="IDX117"></A>
If Exim is called under the name <EM>mailq</EM>, it behaves as if the option -<EM>bp</EM>
were present before any other options. This is for compatibility with some
systems that contain a command of that name in one of the standard libraries,
<A NAME="IDX118"></A>
<A NAME="IDX119"></A>
symbolically linked to <TT>`/usr/lib/sendmail'</TT> or <TT>`/usr/sbin/sendmail'</TT>.
</P>
<P>
<A NAME="IDX120"></A>
If Exim is called under the name <EM>rsmtp</EM> it behaves as if the option -<EM>bS</EM> were
present before any other options, for compatibility with Smail. The -<EM>bS</EM>
option is used for reading in a number of messages in batched SMTP format.
</P>
<P>
<A NAME="IDX121"></A>
If Exim is called under the name <EM>rmail</EM> it behaves as if the -<EM>i</EM> and -<EM>oee</EM>
options were present before any other options, for compatibility with Smail.
The name <EM>rmail</EM> is used as an interface by some UUCP systems.
</P>
<P>
<A NAME="IDX122"></A>
<A NAME="IDX123"></A>
If Exim is called under the name <EM>runq</EM> it behaves as if the option -<EM>q</EM> were
present before any other options, for compatibility with Smail. The -<EM>q</EM>
option causes a single queue-runner process to be started.
</P>
<P>
<A NAME="IDX124"></A>
<A NAME="IDX125"></A>
If Exim is called under the name <EM>newaliases</EM> it behaves as if the option -<EM>bi</EM>
were present before any other options, for compatibility with Sendmail. This
option is used for rebuilding Sendmail's alias file. Exim does not have the
concept of a single alias file, but can be configured to run a given command if
called with the -<EM>bi</EM> option.
</P>
<H2><A NAME="SEC38" HREF="spec_toc.html#TOC38">5.2 Trusted and admin users</A></H2>
<P>
<A NAME="IDX126"></A>
<A NAME="IDX127"></A>
<A NAME="IDX128"></A>
<A NAME="IDX129"></A>
Some Exim options are available only to <EM>trusted users</EM> and others are
available only to <EM>admin users</EM>. In the description below, the phrases `Exim
user' and `Exim group' mean the user and group defined by EXIM_UID and
EXIM_GID in <TT>`Local/Makefile'</TT> or set by the <EM>exim_user</EM> and <EM>exim_group</EM>
options. These do not necessarily have to use the name `exim'.
</P>
<UL>
<LI>
A trusted user is root or the Exim user or any user listed in the
<EM>trusted_users</EM> configuration option, or any user for whom the currently set
group is the Exim group (if defined) or
<font color=green>
whose current group or any supplementary group is one of those listed in the
<EM>trusted_groups</EM> configuration option.
Trusted users are always permitted to use the -<EM>f</EM> option or a leading `From '
line to specify the envelope sender of a message that is passed to Exim through
the local interface (see the -<EM>bm</EM> and -<EM>f</EM> options below). For a trusted user,
there is never any check on the contents of the <EM>From:</EM> header line, and a
<EM>Sender:</EM> line is never added. Furthermore, any existing <EM>Sender:</EM> line in
incoming local (non-TCP/IP) messages is not removed.
</font>
Trusted users may also
specify a host name, host address, interface address, protocol name, and ident
value. Thus they are able to insert messages into Exim's queue locally that
have the characteristics of messages received from a remote host.
<font color=green>
Untrusted users may in some circumstances use -<EM>f</EM>, but can never set the other
values that trusted users can.
</font>
<A NAME="IDX130"></A>
<A NAME="IDX131"></A>
<EM>From:</EM> headers are not checked to see if <EM>Sender:</EM> is needed when the caller
is trusted.
<LI>
An admin user is root or the Exim user or any user that is a member of the Exim
group (if defined), or of any group listed in the <EM>admin_groups</EM> configuration
option. The current group does not have to be one of these groups.
Admin users are permitted to operate on messages in the queue, for example, to
force delivery failures. It is also necessary to be an admin user in order to
see the full information provided by the Exim monitor,
<font color=green>
and full debugging output.
</font>
By default, the use of the -<EM>M</EM>, -<EM>q</EM>, -<EM>R</EM>, and -<EM>S</EM> options to cause Exim to
attempt delivery of messages on its queue is restricted to admin users.
However, this restriction can be relaxed by setting the <EM>prod_requires_admin</EM>
option false (that is, specifying <EM>no_prod_requires_admin</EM>).
Similarly, the use of the -<EM>bp</EM> option to list all the messages in the queue is
restricted to admin users unless <EM>queue_list_requires_admin</EM> is set false.
</UL>
<H2><A NAME="SEC39" HREF="spec_toc.html#TOC39">5.3 Command line options</A></H2>
<P>
The command options are described in alphabetical order below.
</P>
<P>
<P>
<A NAME="IDX132"></A>
<H3><A NAME="SEC40" HREF="spec_toc.html#TOC40">--</A></H3>
<P>
<A NAME="IDX133"></A>
This is a pseudo-option whose only purpose is to terminate the options and
therefore to cause subsequent command line items to be treated as arguments
rather than options, even if they begin with hyphens.
</P>
<P>
<A NAME="IDX134"></A>
<H3><A NAME="SEC41" HREF="spec_toc.html#TOC41">-B<<EM>type</EM>></A></H3>
<P>
<A NAME="IDX135"></A>
<A NAME="IDX136"></A>
This is a Sendmail option for selecting 7 or 8 bit processing. Exim is entirely
8-bit clean; it ignores this option.
</P>
<P>
<A NAME="IDX137"></A>
<H3><A NAME="SEC42" HREF="spec_toc.html#TOC42">-bd</A></H3>
<P>
<A NAME="IDX138"></A>
Run Exim as a daemon, awaiting incoming SMTP connections. This option can be
used only by an admin user. If either of the -<EM>d</EM> or -<EM>dm</EM> options are set,
the daemon does not disconnect from the controlling terminal. By default, Exim
listens for incoming connections on all the host's interfaces, but it can be
restricted to specific interfaces by setting the <EM>local_interfaces</EM> option in
the configuration file. The standard SMTP port is used, but this can be varied
by means of the <EM>daemon_smtp_port</EM> configuration option or the -<EM>oX</EM> command
line option. Most commonly, the -<EM>bd</EM> option is combined with the
-<EM>q</EM><<EM>time</EM>> option, to cause periodic queue runs to happen as well.
</P>
<P>
<A NAME="IDX139"></A>
<A NAME="IDX140"></A>
<A NAME="IDX141"></A>
The process id of a daemon that is both listening on the standard SMTP port and
periodically starting queue runners is written to a file called
<TT>`exim-daemon.pid'</TT> in Exim's spool directory. If a non-standard port is used,
the file name is <TT>`exim-daemon.<<EM>port-number</EM>>.pid'</TT>. If a daemon is run with
only one of -<EM>bd</EM> or -<EM>q</EM><<EM>time</EM>>, that option is added on to the end of
the file name, allowing sites that run two separate daemons to distinguish
them.
</P>
<P>
It is possible to change the directory in which these pid files are written by
changing the setting of PID_FILE_PATH in <TT>`Local/Makefile'</TT>. The files are
written while Exim is still running as root. Further details are given in the
comments in <TT>`src/EDITME'</TT>.
</P>
<P>
<A NAME="IDX142"></A>
The SIGHUP signal can be used to cause the daemon to re-exec itself. This
should be done whenever Exim's configuration file is changed, or a new version
of Exim is installed. It is not necessary to do this when other files (for
example, alias files) are changed.
</P>
<P>
<A NAME="IDX143"></A>
<H3><A NAME="SEC43" HREF="spec_toc.html#TOC43">-be</A></H3>
<P>
Run Exim in expansion testing mode.
<font color=green>
Exim discards its root privilege, to prevent ordinary users from using this
mode to read otherwise inaccessable files.
</font>
If no arguments are given, it runs interactively, prompting for lines of data.
Each argument (or data line) is passed through the string expansion mechanism,
and the result is output. Variable values from the configuration file (for
example, $<EM>qualify_domain</EM>) are available, but no message-specific values
(such as $<EM>domain</EM>) are set because no message is being processed.
</P>
<P>
<A NAME="IDX144"></A>
<H3><A NAME="SEC44" HREF="spec_toc.html#TOC44">-bF <<EM>filename</EM>></A></H3>
<P>
<A NAME="IDX145"></A>
This option is the same as -<EM>bf</EM> except that it assumes that the filter being
tested is a system filter. The additional commands that are available only
in system filters are recognized.
</P>
<P>
<A NAME="IDX146"></A>
<H3><A NAME="SEC45" HREF="spec_toc.html#TOC45">-bf <<EM>filename</EM>></A></H3>
<P>
<A NAME="IDX147"></A>
<A NAME="IDX148"></A>
<A NAME="IDX149"></A>
<A NAME="IDX150"></A>
Run Exim in filter testing mode; the file is the filter file to be tested,
and a test message must be supplied on the standard input. If there are no
message-dependent tests in the filter, an empty file can be supplied.
If a system filter file is being tested, -<EM>bF</EM> should be used instead of
-<EM>bf</EM>. If the test file does not begin with the special line
<PRE>
# Exim filter
</PRE>
<P>
then it is taken to be a normal <TT>`.forward'</TT> file, and is tested for validity
under that interpretation. The result of this command, provided no errors are
detected, is a list of the actions that Exim would try to take if presented
with the message for real. More details of filter testing are given in the
separate document entitled <EM>Exim's interface to mail filtering</EM>.
</P>
<P>
When testing a filter file, the envelope sender can be set by the -<EM>f</EM> option,
or by a `From ' line at the start of the test message. Various parameters that
would normally be taken from the envelope recipient address of the message can
be set by means of additional command line options. These are:
<PRE>
-<EM>bfd</EM> <<EM>domain</EM>> default is the qualify domain
-<EM>bfl</EM> <<EM>local_part</EM>> default is the logged in user
-<EM>bfp</EM> <<EM>local_part_prefix</EM>> default is null
-<EM>bfs</EM> <<EM>local_part_suffix</EM>> default is null
</PRE>
<P>
The local part should always be set to the incoming address with any prefix or
suffix stripped, because that is how it appears when a message is actually
being delivered.
</P>
<P>
<A NAME="IDX151"></A>
<H3><A NAME="SEC46" HREF="spec_toc.html#TOC46">-bh <<EM>IP address</EM>></A></H3>
<P>
<A NAME="IDX152"></A>
<A NAME="IDX153"></A>
<A NAME="IDX154"></A>
<A NAME="IDX155"></A>
This option runs a fake SMTP session as if from the given IP address, using the
standard input and output.
<font color=green>
The IP address may include a port number at the end, after full stop. For
example:
<PRE>
exim -bh 10.9.8.7.1234
exim -bh fe80::a00:20ff:fe86:a061.5678
</PRE>
<P>
</font>
Comments as to what is going on are written to the standard error file. These
include lines beginning with `LOG' for anything that would have been logged.
This facility is for testing configuration options for blocking hosts and/or
senders and for checking on relaying control. Messages supplied during the
testing session are discarded, and nothing is written to any of the real log
files. There may be pauses when DNS (and other) lookups are taking place, and
of course these may time out. The -<EM>oMi</EM> option can be used to specify a
specific IP interface if this is important.
</P>
<P>
<A NAME="IDX156"></A>
<H3><A NAME="SEC47" HREF="spec_toc.html#TOC47">-bi</A></H3>
<P>
<A NAME="IDX157"></A>
Sendmail interprets the -<EM>bi</EM> option as a request to rebuild its alias file.
Exim does not have the concept of a single alias file, and so it cannot mimic
this behaviour. However, calls to <EM>/usr/lib/sendmail -bi</EM> tend to appear in
various scripts such as NIS make files, so the option must be recognized.
</P>
<P>
If -<EM>bi</EM> is encountered, the command specified by the <EM>bi_command</EM>
configuration option is run, under the uid and gid of the caller of Exim. If
the -<EM>oA</EM> option is used, its value is passed to the command as an argument.
The command set by <EM>bi_command</EM> may not contain arguments. The command can use
the <EM>exim_dbmbuild</EM> utility, or some other means, to rebuild alias files if
this is required. If the <EM>bi_command</EM> option is not set, calling Exim
with -<EM>bi</EM> is a no-op.
</P>
<P>
<A NAME="IDX158"></A>
<H3><A NAME="SEC48" HREF="spec_toc.html#TOC48">-bm</A></H3>
<P>
<A NAME="IDX159"></A>
Accept an incoming, locally-generated message on the current input, and deliver
it to the addresses given as the command arguments (except when -<EM>t</EM> is also
given -- see below). Each argument can be a comma-separated list of RFC 822
addresses. This is the default option for selecting the overall action of an
Exim call; it is assumed if no other conflicting option is present.
</P>
<P>
<A NAME="IDX160"></A>
<A NAME="IDX161"></A>
<A NAME="IDX162"></A>
<A NAME="IDX163"></A>
The format of the message must be as defined in RFC 822, except that, for
compatibility with Sendmail and Smail, a line in one of the forms
<PRE>
From sender Fri Jan 5 12:55 GMT 1997
From sender Fri, 5 Jan 97 12:55:01
</PRE>
<P>
(with the weekday optional, and possibly with additional text after the date)
is permitted to appear at the start of the message. There appears to be no
authoritative specification of the format of this line. Exim recognizes it by
matching against the regular expression defined by the <EM>uucp_from_pattern</EM>
option, which can be changed if necessary. The specified sender is treated as
if it were given as the argument to the -<EM>f</EM> option, but if a -<EM>f</EM> option is
also present, its argument is used in preference to the address taken from the
message. The caller of Exim must be
a trusted
user for the sender of a message to be set in this way.
</P>
<P>
<A NAME="IDX164"></A>
<H3><A NAME="SEC49" HREF="spec_toc.html#TOC49">-bp</A></H3>
<P>
<A NAME="IDX165"></A>
<A NAME="IDX166"></A>
List the contents of the mail queue on the standard output. If the -<EM>bp</EM> option
is followed by a list of message ids, just those messages are listed.
By default, this option lists only those messages submitted by the calling user
unless the caller is an admin user. The <EM>queue_list_requires_admin</EM> option
can be set false to allow any user to see the entire queue.
</P>
<P>
Each message on the queue is displayed as in the following example:
<PRE>
25m 2.9K 0t5C6f-0000c8-00 <alice@wonderland.fict.book>
red.king@looking-glass.fict.book
<<EM>other addresses</EM>>
</PRE>
<P>
<A NAME="IDX167"></A>
<A NAME="IDX168"></A>
The first line contains the length of time the message has been on the queue
(in this case 25 minutes), the size of the message (2.9K), the unique
local identifier for the message, and the message sender, as contained in the
envelope. If the message is a delivery error message, the sender address is
empty, and appears as `<>'.
<font color=green>
If the message was submitted locally by an untrusted user who overrode the
default sender address, the user's login name is shown in parentheses before
the sender address.
</font>
<A NAME="IDX169"></A>
If the message is frozen (attempts to deliver it are suspended) then the text
`*** frozen ***' is displayed at the end of this line.
</P>
<P>
The recipients of the message (taken from the envelope, not the headers) are
displayed on subsequent lines. Those addresses to which the message has already
been delivered are marked with the letter D. If an original address gets
expanded into several addresses via an alias or forward file, the original is
displayed with a D only when deliveries for all of its child addresses are
complete.
</P>
<P>
<A NAME="IDX170"></A>
<H3><A NAME="SEC50" HREF="spec_toc.html#TOC50">-bpa</A></H3>
<P>
This option operates like -<EM>bp</EM>, but in addition it shows delivered addresses
that were generated from the original top level address(es) in each message by
alias or forwarding operations. These addresses are flagged with `+D' instead
of just `D'.
</P>
<P>
<A NAME="IDX171"></A>
<H3><A NAME="SEC51" HREF="spec_toc.html#TOC51">-bpr</A></H3>
<P>
This option operates like -<EM>bp</EM>, but the output is not sorted into
chronological order of message arrival. This can speed it up when there are
lots of messages on the queue, and is particularly useful if the output is
going to be post-processed in a way that doesn't need the sorting.
</P>
<P>
<A NAME="IDX172"></A>
<H3><A NAME="SEC52" HREF="spec_toc.html#TOC52">-bpra</A></H3>
<P>
This option is a combination of -<EM>bpr</EM> and -<EM>bpa</EM>.
</P>
<P>
<A NAME="IDX173"></A>
<H3><A NAME="SEC53" HREF="spec_toc.html#TOC53">-bpru</A></H3>
<P>
This option is a combination of -<EM>bpr</EM> and -<EM>bpu</EM>.
</P>
<P>
<A NAME="IDX174"></A>
<H3><A NAME="SEC54" HREF="spec_toc.html#TOC54">-bpu</A></H3>
<P>
This option operates like -<EM>bp</EM> but shows only undelivered top-level addresses
for each message displayed. Addresses generated by aliasing or forwarding are
not shown, unless the message was deferred after processing by a director with
the <EM>one_time</EM> option set.
</P>
<P>
<A NAME="IDX175"></A>
<H3><A NAME="SEC55" HREF="spec_toc.html#TOC55">-bP</A></H3>
<P>
<A NAME="IDX176"></A>
<A NAME="IDX177"></A>
If this option is given with no arguments, it causes the values of all Exim's
main configuration options to be written to the standard output. The values
of one or more specific options can be requested by giving their names as
arguments, for example:
<PRE>
exim -bP qualify_domain local_domains
</PRE>
<P>
<font color=green>
However, any configuration setting that was preceded by the word `hide' is not
shown in full, except to an admin user. For other users, output such as
<PRE>
mysql_servers = <value not displayable>
</PRE>
<P>
is used.
</font>
If <EM>configure_file</EM> is given as an argument, the name of the run time
configuration file is output.
<A NAME="IDX178"></A>
<A NAME="IDX179"></A>
If <EM>log_file_path</EM> or <EM>pid_file_path</EM> are given, the names of the
directories where log files and daemon pid files are written are output,
respectively. If these values are unset, log files are written in a
sub-directory of the spool directory called <EM>log</EM>, and pid files are written
directly into the spool directory.
</P>
<P>
<A NAME="IDX180"></A>
<A NAME="IDX181"></A>
<A NAME="IDX182"></A>
If one of the words <EM>director</EM>, <EM>router</EM>, <EM>transport</EM>,
or <EM>authenticator</EM>
is given, followed by the name of an appropriate driver instance, the option
settings for that driver are output. For example:
<PRE>
exim -bP transport local_delivery
</PRE>
<P>
The generic driver options are output first, followed by the driver's private
options. A list of the names of drivers of a particular type can be obtained by
using one of the words <EM>director_list</EM>, <EM>router_list</EM>, <EM>transport_list</EM>,
or <EM>authenticator_list</EM>, and a complete list of all drivers with their option
settings can be obtained by using <EM>directors</EM>, <EM>routers</EM>, <EM>transports</EM>, or
<EM>authenticators</EM>.
</P>
<P>
<A NAME="IDX183"></A>
<H3><A NAME="SEC56" HREF="spec_toc.html#TOC56">-brt</A></H3>
<P>
<A NAME="IDX184"></A>
<A NAME="IDX185"></A>
This option is for testing retry rules, and it must be followed by up to three
arguments. It causes Exim to look for a retry rule that matches the values
and to write it to the standard output. For example:
<PRE>
exim -brt bach.comp.mus
Retry rule: *.comp.mus F,2h,15m; FG,4d,30m;
</PRE>
<P>
See chapter 33 for a description of Exim's retry rules. The first
argument, which is required, can be a complete address in the form
<EM>local_part@domain</EM>, or it can be just a domain name. The second argument is
an optional second domain name; if no retry rule is found for the first
argument, the second is tried. This ties in with Exim's behaviour when looking
for retry rules for remote hosts -- if no rule is found that matches the host,
one that matches the mail domain is sought. The final argument is the name of a
specific delivery error, as used in setting up retry rules, for example
`quota_3d'.
</P>
<P>
<A NAME="IDX186"></A>
<H3><A NAME="SEC57" HREF="spec_toc.html#TOC57">-brw</A></H3>
<P>
<A NAME="IDX187"></A>
<A NAME="IDX188"></A>
This option is for testing address rewriting rules, and it must be followed by
a single argument, consisting of either a local part without a domain, or a
complete address with a fully qualified domain. Exim outputs how this address
would be rewritten for each possible place it might appear. See chapter
34 for further details.
</P>
<P>
<A NAME="IDX189"></A>
<H3><A NAME="SEC58" HREF="spec_toc.html#TOC58">-bS</A></H3>
<P>
<A NAME="IDX190"></A>
<A NAME="IDX191"></A>
This option is used for batched SMTP input, where messages have been received
from some external source by an alternative transport mechanism. It causes Exim
to accept one or more messages by reading SMTP on the standard input, but to
generate no responses.
If any error is encountered reports are written to the standard output and
error streams, and Exim gives up immediately.
</P>
<P>
If the caller is trusted,
<font color=green>
or <EM>untrusted_set_sender</EM> is set,
</font>
the senders in the MAIL commands are believed; otherwise the sender is
always the caller of Exim. Unqualified senders and receivers are not rejected
(there seems little point) but instead just get qualified. Sender addresses are
verified if <EM>sender_verify</EM> is set, unless <EM>sender_verify_batch</EM> is unset
(which is the default). Receiver verification and administrative rejection is
not done, even if configured. HELO and EHLO act as RSET; VRFY,
EXPN, ETRN, HELP, and DEBUG act as NOOP; QUIT quits.
The return code is 0 if no error was detected; it is 1 if one or more messages
were accepted before the error was detected; otherwise it is 2. More details of
input using batched SMTP are given in section 48.9.
</P>
<P>
<A NAME="IDX192"></A>
<H3><A NAME="SEC59" HREF="spec_toc.html#TOC59">-bs</A></H3>
<P>
<A NAME="IDX193"></A>
<A NAME="IDX194"></A>
<A NAME="IDX195"></A>
This option causes Exim to accept one or more messages by reading SMTP commands
on the standard input, and producing SMTP replies on the standard output. Some
user agents use this interface as a way of passing locally-generated messages
to the MTA. The option can also be used to run Exim from <EM>inetd</EM>, as an
alternative to using a listening daemon, in which case the standard input is
the connected socket. Exim distinguishes between the two cases by attempting to
read the IP address of the peer connected to the standard input. If it is not a
socket, the call to <EM>getpeername()</EM> fails, and Exim assumes it is dealing with
a local message.
</P>
<P>
<A NAME="IDX196"></A>
If the caller of Exim is trusted,
<font color=green>
or <EM>untrusted_set_sender</EM> is set,
</font>
the senders of messages are taken from
the SMTP MAIL commands. Otherwise the content of these commands is
ignored and the sender is set up as the calling user.
</P>
<P>
<A NAME="IDX197"></A>
<H3><A NAME="SEC60" HREF="spec_toc.html#TOC60">-bt</A></H3>
<P>
<A NAME="IDX198"></A>
<A NAME="IDX199"></A>
Run in address testing mode, in which each argument is taken as an address to
be tested. The results are written to the standard output. If no arguments are
given, Exim runs in an interactive manner, prompting with a right angle bracket
for addresses to be tested. Each address is handled as if it were the recipient
address of a message and passed to the appropriate directors or routers
(compare the -<EM>bv</EM> option); the result is written to the standard output. The
return code is 2 if any address failed outright; it is 1 if no address failed
outright but at least one could not be resolved for some reason. Return code 0
is given only when all addresses succeed.
</P>
<P>
<font color=green>
<b>Warning</b>: -<EM>bt</EM> can only do relatively simple testing. If any of the directors
or routers in the configuration makes any tests on the sender address of a
message, you can use the -<EM>f</EM> option to set an appropriate sender when running
-<EM>bt</EM> tests. Without it, the sender is assumed to be the calling user at the
default qualifying domain. However, if you have set up (for example) directors
and routers whose behaviour depends on the contents of an incoming message, you
cannot test those conditions using -<EM>bt</EM>. The -<EM>N</EM> option provides a possible
way of doing such tests.
</font>
</P>
<P>
<A NAME="IDX200"></A>
<H3><A NAME="SEC61" HREF="spec_toc.html#TOC61">-bV</A></H3>
<P>
<A NAME="IDX201"></A>
Write the current version number, compilation number, and compilation date of
the <EM>exim</EM> binary to the standard output.
</P>
<P>
<A NAME="IDX202"></A>
<H3><A NAME="SEC62" HREF="spec_toc.html#TOC62">-bv</A></H3>
<P>
<A NAME="IDX203"></A>
<A NAME="IDX204"></A>
Verify the addresses that are given as the arguments to the command, and write
the results to the standard output.
If no arguments are given, Exim runs in an interactive manner, prompting with a
right angle bracket for addresses to be tested.
Verification differs from address testing (the -<EM>bt</EM> option) in that directors
and routers that have <EM>no_verify</EM> set are skipped, and if the address is
accepted by a director or router that has <EM>fail_verify</EM> set, verification
fails. This is the same logic that is used when verifying addresses of incoming
messages (see chapter 45). The address is verified as a
recipient if -<EM>bv</EM> is used; to verify as for a sender address, -<EM>bvs</EM> should be
used.
</P>
<P>
If the -<EM>v</EM> (or -<EM>d</EM>) option is not set, the output consists of a single line
for each address, stating whether it was verified or not, and giving a reason
in the latter case. Otherwise, more details are given of how the address has
been handled, and in the case of aliases or forwarding,
<font color=green>
all the generated addresses are also considered. Otherwise, generating an
address by forwarding, or more than one address by aliasing, causes
verification to end sucessfully.
</font>
</P>
<P>
The return code is 2 if any address failed outright; it is 1 if no address
failed outright but at least one could not be resolved for some reason. Return
code 0 is given only when all addresses succeed.
</P>
<P>
If any of the directors or routers in the configuration makes any tests on the
sender address of a message, you should use the -<EM>f</EM> option to set an
appropriate sender when running -<EM>bv</EM> tests. Without it, the sender is assumed
to be the calling user at the default qualifying domain.
</P>
<P>
<A NAME="IDX205"></A>
<H3><A NAME="SEC63" HREF="spec_toc.html#TOC63">-bvs</A></H3>
<P>
This option acts like -<EM>bv</EM>, but verifies the address as a sender rather
than a recipient address. This affects any rewriting and qualification that
might happen.
</P>
<P>
<A NAME="IDX206"></A>
<H3><A NAME="SEC64" HREF="spec_toc.html#TOC64">-C <<EM>filename</EM>></A></H3>
<P>
<A NAME="IDX207"></A>
<A NAME="IDX208"></A>
<A NAME="IDX209"></A>
<A NAME="IDX210"></A>
Read the run time configuration from the given file instead of from the default
file specified by the CONFIGURE_FILE compile-time setting. When this
option is used by an unprivileged caller and the file name given is different
from the compiled-in name, Exim gives up its root privilege immediately, and
runs with the real and effective uid and gid set to those of the caller, to
avoid any security exposure. It does not do this if the caller is root or the
Exim user defined by EXIM_UID in <TT>`Local/Makefile'</TT>.
The facility is useful for ensuring that configuration files are
syntactically correct, but cannot be used for test deliveries, unless the
caller is privileged, or unless it's an exotic configuration that does not
require privilege. No check is made on the owner or group of the file specified
by this option.
</P>
<P>
<A NAME="IDX211"></A>
<H3><A NAME="SEC65" HREF="spec_toc.html#TOC65">-D<<EM>macro</EM>>=<<EM>value</EM>></A></H3>
<P>
<A NAME="IDX212"></A>
This option can be used to override macro definitions in the configuration
file (see section 7.2). However, like -<EM>C</EM>, if it is used by an
unprivileged caller, it causes Exim to give up its root privilege.
This option may be repeated up to 10 times on a command line.
</P>
<P>
<A NAME="IDX213"></A>
<H3><A NAME="SEC66" HREF="spec_toc.html#TOC66">-d<<EM>number</EM>></A></H3>
<P>
<A NAME="IDX214"></A>
Set a debug level, causing debugging information to be written to the standard
error file. White space between -<EM>d</EM> and the number is optional. If no number
is given, 1 is assumed, and the higher the number, the more output is produced.
A value of zero turns debugging output off and is the default. A value of 9
gives the maximum amount of general information, 10 gives in addition details
of the interpretation of filter files, and 11 or higher also turns on the
debugging option for DNS lookups.
</P>
<P>
<font color=green>
For non-admin users, the number is ignored, and a debug level of 1 is always
used. This restriction exists because debugging output may show database
queries that contain password information, and also the details of users'
filter files should be protected.
</font>
</P>
<P>
<A NAME="IDX215"></A>
<H3><A NAME="SEC67" HREF="spec_toc.html#TOC67">-df</A></H3>
<P>
<A NAME="IDX216"></A>
<A NAME="IDX217"></A>
<A NAME="IDX218"></A>
If this option is set and STDERR_FILE was defined when Exim was built,
debugging information is written to the file defined by that variable instead
of to the standard error file. This option provides a way of obtaining
debugging information when Exim is run from <EM>inetd</EM>.
</P>
<P>
<A NAME="IDX219"></A>
<H3><A NAME="SEC68" HREF="spec_toc.html#TOC68">-dm</A></H3>
<P>
<A NAME="IDX220"></A>
This option causes information about memory allocation and freeing operations
to be written to the standard error file.
</P>
<P>
<A NAME="IDX221"></A>
<H3><A NAME="SEC69" HREF="spec_toc.html#TOC69">-dropcr</A></H3>
<P>
<A NAME="IDX222"></A>
<A NAME="IDX223"></A>
<A NAME="IDX224"></A>
<A NAME="IDX225"></A>
<A NAME="IDX226"></A>
At least one MUA (dtmail) that calls an MTA via the command line is broken in
that it terminates each line with CRLF, instead of just LF, which is the usual
Unix convention, and although this bug has been admitted, it apparently won't
get fixed. There is also some UUCP software which leaves CR at the ends of
lines in messages. As a slight pander to these programs, the -<EM>dropcr</EM> option
causes Exim to drop <EM>all</EM> CR characters in an incoming non-SMTP message.
</P>
<P>
<A NAME="IDX227"></A>
<H3><A NAME="SEC70" HREF="spec_toc.html#TOC70">-E</A></H3>
<P>
<A NAME="IDX228"></A>
<A NAME="IDX229"></A>
This option specifies that an incoming message is a locally-generated delivery
failure report. It is used internally by Exim when handling delivery failures
and is not intended for external use. Its only effect is to stop Exim
generating certain messages to the mailmaster, as otherwise message cascades
could occur in some situations. As part of the same option, a message id may
follow the characters -<EM>E</EM>. If it does, the log entry for the receipt of the
new message contains the id, following `R=', as a cross-reference.
</P>
<P>
<A NAME="IDX230"></A>
<H3><A NAME="SEC71" HREF="spec_toc.html#TOC71">-e<EM>x</EM></A></H3>
<P>
There are a number of Sendmail options starting with -<EM>oe</EM> which seem to be
called by various programs without the leading <EM>o</EM> in the option. For example,
the <EM>vacation</EM> program uses -<EM>eq</EM>. Exim treats all options of the form
-<EM>e<EM>x</EM></EM> as synonymous with the corresponding -<EM>oe<EM>x</EM></EM> options.
</P>
<P>
<A NAME="IDX231"></A>
<H3><A NAME="SEC72" HREF="spec_toc.html#TOC72">-F <<EM>string</EM>></A></H3>
<P>
<A NAME="IDX232"></A>
<A NAME="IDX233"></A>
Set the sender's full name for use when a locally-generated message is being
accepted. In the absence of this option, the user's <EM>gecos</EM> entry from the
password file is used. As users are generally permitted to alter their
<EM>gecos</EM> entries, no security considerations are involved. White space between
-<EM>F</EM> and the <<EM>string</EM>> is optional.
</P>
<P>
<A NAME="IDX234"></A>
<H3><A NAME="SEC73" HREF="spec_toc.html#TOC73">-f <<EM>address</EM>></A></H3>
<P>
<A NAME="IDX235"></A>
<A NAME="IDX236"></A>
<A NAME="IDX237"></A>
<font color=green>
Set the address of the envelope sender of a locally-generated message (also
known as the return path). This option can normally be used only by root or the
Exim user or by one of the configured trusted users, but if
<EM>untrusted_set_sender</EM> is set, its use is not restricted. However, even when
<EM>untrusted_set_sender</EM> is not set, anyone may use it when testing a filter
file with -<EM>bf</EM> or when testing or verifying addresses using the -<EM>bt</EM> or
-<EM>bv</EM> options. There is also no restriction of the use of the special setting
-<EM>f <></EM> to send a message with an empty sender; such a message can never
provoke a bounce. In other cases, the sender of a local message is set up as
the user who ran the <EM>exim</EM> command, and -<EM>f</EM> is ignored,
</P>
<P>
Allowing untrusted users to change the sender address does not of itself make
it possible to send anonymous mail. Exim still checks that the <EM>From:</EM> header
refers to the local user, and if it does not, it adds a <EM>Sender:</EM> header,
though this can be overridden by setting <EM>no_local_from_check</EM>.
</P>
<P>
White space between -<EM>f</EM> and the <<EM>address</EM>> is optional. The sender of a
locally-generated message can also be set (when permitted) by an initial
`From ' line in the message -- see the description of -<EM>bm</EM> above, but if -<EM>f</EM>
is also present, it overrides `From '.
</font>
</P>
<P>
<A NAME="IDX238"></A>
<H3><A NAME="SEC74" HREF="spec_toc.html#TOC74">-h <<EM>number</EM>></A></H3>
<P>
This option is accepted for compatibility with Sendmail, but at present has
no effect. (In Sendmail it overrides the `hop count' obtained by counting
<EM>Received:</EM> headers.)
</P>
<P>
<A NAME="IDX239"></A>
<H3><A NAME="SEC75" HREF="spec_toc.html#TOC75">-i</A></H3>
<P>
This option, which has the same effect as -<EM>oi</EM>, specifies that a dot on a line
by itself should not terminate an incoming, non-SMTP message. I can find
no documentation for this option in Solaris 2.4 Sendmail, but the <EM>mailx</EM>
command in Solaris 2.4 uses it.
</P>
<P>
<A NAME="IDX240"></A>
<H3><A NAME="SEC76" HREF="spec_toc.html#TOC76">-M</A></H3>
<P>
<A NAME="IDX241"></A>
<A NAME="IDX242"></A>
<A NAME="IDX243"></A>
The arguments are interpreted as a list of message ids, and Exim runs a
delivery attempt on each message in turn. If any of the messages are frozen,
they are automatically thawed before the delivery attempt.
The settings of <EM>queue_remote_domains</EM>, <EM>queue_smtp_domains</EM>, and
<EM>hold_domains</EM> are ignored.
Retry hints for any of the addresses are overridden -- Exim tries to deliver
even if the normal retry time has not yet been reached. This option requires
the caller to be an admin user. However, there is an option called
<EM>prod_requires_admin</EM> which can be set false to relax this restriction (and
also the same requirement for the -<EM>q</EM>, -<EM>R</EM>,
and -<EM>S</EM>
options).
</P>
<P>
<A NAME="IDX244"></A>
<H3><A NAME="SEC77" HREF="spec_toc.html#TOC77">-Mar <<EM>message id</EM>> <<EM>address</EM>> <<EM>address</EM>></A></H3>
<P>
<A NAME="IDX245"></A>
<A NAME="IDX246"></A>
<A NAME="IDX247"></A>
The first argument must be a message id, and the remaining ones must be email
addresses. Exim adds the addresses to the list of recipients of the message
(`ar' for `add recipients'). However, if the message is active (in the middle
of a delivery attempt), its status is not altered. This option can be used only
by an admin user.
</P>
<P>
<A NAME="IDX248"></A>
<A NAME="IDX249"></A>
<A NAME="IDX250"></A>
<A NAME="IDX251"></A>
<H3><A NAME="SEC78" HREF="spec_toc.html#TOC78">-MC <<EM>transport</EM>> <<EM>hostname</EM>> <<EM>sequence number</EM>> <<EM>message id</EM>></A></H3>
<P>
This option is not intended for use by external callers. It is used internally
by Exim to invoke another instance of itself to deliver a waiting message using
an existing SMTP channel, which is passed as the standard input. Details are
given in chapter 48. This must be the final option, and the caller must
be root or the Exim user in order to use it.
</P>
<P>
<A NAME="IDX252"></A>
<H3><A NAME="SEC79" HREF="spec_toc.html#TOC79">-MCA</A></H3>
<P>
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with -<EM>MC</EM> option. It signifies that the connection to
the remote host has been authenticated.
</P>
<P>
<A NAME="IDX253"></A>
<H3><A NAME="SEC80" HREF="spec_toc.html#TOC80">-MCQ <<EM>process id</EM>> <<EM>pipe fd</EM>></A></H3>
<P>
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with -<EM>MC</EM> option when the original delivery was started
by a queue runner. It passes on the process id of the queue runner, together
with the file descriptor number of an open pipe. Closure of the pipe signals
the final completion of the sequence of processes that are passing messages
through the same SMTP channel.
</P>
<P>
<A NAME="IDX254"></A>
<H3><A NAME="SEC81" HREF="spec_toc.html#TOC81">-MCS</A></H3>
<P>
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with -<EM>MC</EM> option, and passes on the fact that the SMTP
SIZE option should be used on messages delivered down the existing channel.
</P>
<P>
<font color=green>
<A NAME="IDX255"></A>
<H3><A NAME="SEC82" HREF="spec_toc.html#TOC82">-MCT</A></H3>
<P>
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with -<EM>MC</EM> option, and passes on the fact that the host
to which Exim is connected supports TLS encryption.
</font>
</P>
<P>
<A NAME="IDX256"></A>
<H3><A NAME="SEC83" HREF="spec_toc.html#TOC83">-Mc</A></H3>
<P>
The arguments are interpreted as a list of message ids, and Exim runs a
delivery attempt on each message in turn, but unlike the -<EM>M</EM> option, it does
check for retry hints, and respects any that are found. This option is not very
useful to external callers. It is provided mainly for
internal use by Exim when it needs to re-invoke itself in order to regain root
privilege for a delivery (see chapter 55).
<font color=green>
However, it can be used manually to run a delivery that respects retry times
for testing purposes. Such a delivery does not count as a queue run. If you
want to run a specific delivery as if in a queue run, you should use -<EM>q</EM> with
a message id argument. A distinction between queue run deliveries and other
deliveries is made in one or two places.
</font>
</P>
<P>
<A NAME="IDX257"></A>
<H3><A NAME="SEC84" HREF="spec_toc.html#TOC84">-Meb <<EM>message id</EM>></A></H3>
<P>
<A NAME="IDX258"></A>
<A NAME="IDX259"></A>
<A NAME="IDX260"></A>
This runs, under /bin/sh, the command defined in the shell variable VISUAL
or, if that is not defined, EDITOR or, if that is not defined, the command
<EM>vi</EM>, on a copy of the spool file containing the body of message (`eb' for
`edit body'). If the editor exits normally, the result of editing replaces
the spool file. The message is locked during this process, so no delivery
attempts can occur. Note that the first line of the spool file is its own name;
care should be taken not to disturb this. The thinking behind providing this
feature is that an administrator who has had to mess around with the addresses
to get a message delivered might want to add some comment at the start of the
message text. This option can be used only by an admin user.
</P>
<P>
<A NAME="IDX261"></A>
<H3><A NAME="SEC85" HREF="spec_toc.html#TOC85">-Mes <<EM>message id</EM>> <<EM>address</EM>></A></H3>
<P>
<A NAME="IDX262"></A>
<A NAME="IDX263"></A>
There must be exactly two arguments. The first argument must be a message id,
and the second one an email address. Exim changes the sender address in the
message to the given address, which must be a fully qualified address or `<>'
(`es' for `edit sender'). However, if the message is active (in the middle of a
delivery attempt), its status is not altered. This option can be used only by
an admin user.
</P>
<P>
<A NAME="IDX264"></A>
<H3><A NAME="SEC86" HREF="spec_toc.html#TOC86">-Mf</A></H3>
<P>
<A NAME="IDX265"></A>
<A NAME="IDX266"></A>
<A NAME="IDX267"></A>
The arguments are interpreted as a list of message ids, and each message is
marked `frozen'. This prevents any delivery attempts taking place until the
message is `thawed', either manually or as a result of the <EM>auto_thaw</EM>
configuration option. However, if any of the messages are active (in the middle
of a delivery attempt), their status is not altered. This option can be used
only by an admin user.
</P>
<P>
<A NAME="IDX268"></A>
<H3><A NAME="SEC87" HREF="spec_toc.html#TOC87">-Mg</A></H3>
<P>
<A NAME="IDX269"></A>
<A NAME="IDX270"></A>
The arguments are interpreted as a list of message ids, and Exim gives up
trying to deliver those messages, including any that are frozen. A delivery
error message is sent, containing the text `cancelled by administrator'.
However, if any of the messages are active, their status is not altered. This
option can be used only by an admin user.
</P>
<P>
<A NAME="IDX271"></A>
<H3><A NAME="SEC88" HREF="spec_toc.html#TOC88">-Mmad <<EM>message id</EM>></A></H3>
<P>
<A NAME="IDX272"></A>
Exim marks all the recipient addresses in the message as already delivered
(`mad' for `mark all delivered'). However, if the message is active (in the
middle of a delivery attempt), its status is not altered. This option can be
used only by an admin user.
</P>
<P>
<A NAME="IDX273"></A>
<H3><A NAME="SEC89" HREF="spec_toc.html#TOC89">-Mmd <<EM>message id</EM>> <<EM>address</EM>> <<EM>address</EM>></A></H3>
<P>
<A NAME="IDX274"></A>
The first argument must be a message id, and the remaining ones must be email
addresses. Exim marks the given addresses as already delivered (`md' for `mark
delivered'). However, if the message is active (in the middle of a delivery
attempt), its status is not altered. This option can be used only by an admin
user.
</P>
<P>
<A NAME="IDX275"></A>
<H3><A NAME="SEC90" HREF="spec_toc.html#TOC90">-Mrm</A></H3>
<P>
<A NAME="IDX276"></A>
<A NAME="IDX277"></A>
<A NAME="IDX278"></A>
The arguments are interpreted as a list of message ids, and each message is
completely removed from Exim's queue, and forgotten. However, if any of the
messages are active, their status is not altered. This option can be used only
by an admin user or by the user who originally caused the message to be placed
on the queue.
</P>
<P>
<A NAME="IDX279"></A>
<H3><A NAME="SEC91" HREF="spec_toc.html#TOC91">-Mt</A></H3>
<P>
<A NAME="IDX280"></A>
<A NAME="IDX281"></A>
<A NAME="IDX282"></A>
<A NAME="IDX283"></A>
The arguments are interpreted as a list of message ids, and each message that
was `frozen' is now `thawed', so that delivery attempts can resume. However, if
any of the messages are active, their status is not altered. This option can be
used only by an admin user.
</P>
<P>
<A NAME="IDX284"></A>
<H3><A NAME="SEC92" HREF="spec_toc.html#TOC92">-Mvb <<EM>message id</EM>></A></H3>
<P>
<A NAME="IDX285"></A>
<A NAME="IDX286"></A>
The contents of the message body (-D) spool file are written to the standard
output. This option can be used only by an admin user.
</P>
<P>
<A NAME="IDX287"></A>
<H3><A NAME="SEC93" HREF="spec_toc.html#TOC93">-Mvh <<EM>message id</EM>></A></H3>
<P>
<A NAME="IDX288"></A>
<A NAME="IDX289"></A>
The contents of the message headers (-H) spool file are written to the standard
output. This option can be used only by an admin user.
</P>
<P>
<A NAME="IDX290"></A>
<H3><A NAME="SEC94" HREF="spec_toc.html#TOC94">-Mvl <<EM>message id</EM>></A></H3>
<P>
<A NAME="IDX291"></A>
<A NAME="IDX292"></A>
The contents of the message log spool file are written to the standard output.
This option can be used only by an admin user.
</P>
<P>
<A NAME="IDX293"></A>
<H3><A NAME="SEC95" HREF="spec_toc.html#TOC95">-m</A></H3>
<P>
This is apparently a synonym for -<EM>om</EM> that is accepted by Sendmail, so Exim
treats it that way too.
</P>
<P>
<A NAME="IDX294"></A>
<H3><A NAME="SEC96" HREF="spec_toc.html#TOC96">-N</A></H3>
<P>
This is a debugging option that inhibits delivery of a message at the transport
level. It implies at least -<EM>d1</EM>. Exim goes through many of the motions of
delivery -- it just doesn't actually transport the message, but instead behaves
as if it had successfully done so. However, it does not make any updates to the
retry database, and the log entries for deliveries are flagged with `*>'
rather than `=>'.
</P>
<P>
<font color=green>
Because -<EM>N</EM> discards any message to which it applies, only root or the Exim
user are allowed to use it with -<EM>bd</EM>, -<EM>q</EM>, -<EM>R</EM> or -<EM>M</EM>. In other words, an
ordinary user can use it only when supplying an incoming message to which it
will apply. Although transportation never fails when -<EM>N</EM> is set, an address
may be deferred because of a configuration problem on a transport, or a routing
or directing problem. Once -<EM>N</EM> has been used for a delivery attempt, it sticks
to the message, and applies to any subsequent delivery attempts that may happen
for that message.
</font>
</P>
<P>
<A NAME="IDX295"></A>
<H3><A NAME="SEC97" HREF="spec_toc.html#TOC97">-n</A></H3>
<P>
This option is interpreted by Sendmail to mean `no aliasing'. It is ignored by
Exim.
</P>
<P>
<A NAME="IDX296"></A>
<H3><A NAME="SEC98" HREF="spec_toc.html#TOC98">-oA <<EM>file name</EM>></A></H3>
<P>
This option is used by Sendmail in conjunction with -<EM>bi</EM> to specify an
alternative alias file name. Exim handles -<EM>bi</EM> differently; see the
description above.
</P>
<P>
<A NAME="IDX297"></A>
<A NAME="IDX298"></A>
<H3><A NAME="SEC99" HREF="spec_toc.html#TOC99">-oB <<EM>n</EM>></A></H3>
<P>
<A NAME="IDX299"></A>
<A NAME="IDX300"></A>
This is a debugging option which limits the maximum number of multiple SMTP
deliveries down one channel to <<EM>n</EM>>, overriding the value set in the <EM>smtp</EM>
transport. If <<EM>n</EM>> is omitted, the limit is set to 1 (no batching).
</P>
<P>
<A NAME="IDX301"></A>
<H3><A NAME="SEC100" HREF="spec_toc.html#TOC100">-odb</A></H3>
<P>
<A NAME="IDX302"></A>
This option applies to all modes in which Exim accepts incoming messages,
including the listening daemon. It requests `background' delivery of such
messages, which means that the accepting process automatically starts another
delivery process for each message received. Exim does not wait for such
processes to complete (it can take some time to perform SMTP deliveries). This
is the default action if none of the -<EM>od</EM> options are present.
</P>
<P>
<A NAME="IDX303"></A>
<H3><A NAME="SEC101" HREF="spec_toc.html#TOC101">-odf</A></H3>
<P>
<A NAME="IDX304"></A>
This option (compatible with Smail) requests `foreground' (synchronous)
delivery when Exim has accepted a locally-generated message. (For the daemon it
is exactly the same as -<EM>odb</EM>.) For a single message received on the standard
input, if the protection regime permits it (see chapter 55), Exim
converts the reception process into a delivery process. In other cases, it
creates a new delivery process, and then waits for it to complete before
proceeding.
</P>
<P>
<A NAME="IDX305"></A>
<H3><A NAME="SEC102" HREF="spec_toc.html#TOC102">-odi</A></H3>
<P>
This option is synonymous with -<EM>odf</EM>. It is provided for compatibility with
Sendmail.
</P>
<P>
<A NAME="IDX306"></A>
<H3><A NAME="SEC103" HREF="spec_toc.html#TOC103">-odq</A></H3>
<P>
<A NAME="IDX307"></A>
This option applies to all modes in which Exim accepts incoming messages,
including the listening daemon. It specifies that the accepting process should
not automatically start a delivery attempt for each message received. Messages
are placed on the queue, and remain there until a subsequent queue-running
process encounters them. The <EM>queue_only</EM> configuration option has the same
effect.
</P>
<P>
<A NAME="IDX308"></A>
<H3><A NAME="SEC104" HREF="spec_toc.html#TOC104">-odqr</A></H3>
<P>
<A NAME="IDX309"></A>
This option applies to all modes in which Exim accepts incoming messages,
including the listening daemon. It causes Exim to process local addresses when
a message is received, but not even to try routing remote addresses. Contrast
with -<EM>odqs</EM> below, which does the routing, but not the delivery. The remote
addresses will be picked up by the next queue runner. The
<EM>queue_remote_domains</EM>
configuration option has the same effect for specific domains.
</P>
<P>
<A NAME="IDX310"></A>
<H3><A NAME="SEC105" HREF="spec_toc.html#TOC105">-odqs</A></H3>
<P>
<A NAME="IDX311"></A>
This option is a hybrid between -<EM>odb</EM> and -<EM>odq</EM>. A delivery process is
started for each incoming message, the addresses are all processed, and local
deliveries are done in the normal way. However, if any SMTP deliveries are
required, they are not done at this time. Such messages remain on the queue
until a subsequent queue-running process encounters them. Because routing was
done, Exim knows which messages are waiting for which hosts, and so a number of
messages for the same host will get sent in a single SMTP connection. The
<EM>queue_smtp_domains</EM>
configuration option has the same effect for specific domains. See also the
-<EM>qq</EM> option.
</P>
<P>
<A NAME="IDX312"></A>
<H3><A NAME="SEC106" HREF="spec_toc.html#TOC106">-oee</A></H3>
<P>
<A NAME="IDX313"></A>
If an error is detected while a non-SMTP message is being received (for
example, a malformed address), the error is reported to the sender in a mail
message. Provided the message is successfully sent, Exim exits with a return
code of zero. If not, the return code is 2 if the error was that the message
had no recipients, and 1 otherwise. This is the default -<EM>oe<EM>x</EM></EM> option if
Exim is called as <EM>rmail</EM>.
</P>
<P>
<A NAME="IDX314"></A>
<H3><A NAME="SEC107" HREF="spec_toc.html#TOC107">-oem</A></H3>
<P>
<A NAME="IDX315"></A>
This is the same as -<EM>oee</EM>, except that Exim always exits with a non-zero
return code, whether or not the error message was successfully sent.
This is the default -<EM>oe<EM>x</EM></EM> option, unless Exim is called as <EM>rmail</EM>.
</P>
<P>
<A NAME="IDX316"></A>
<H3><A NAME="SEC108" HREF="spec_toc.html#TOC108">-oep</A></H3>
<P>
<A NAME="IDX317"></A>
If an error is detected while a non-SMTP message is being received, the
error is reported by writing a message to the standard error file (stderr).
</P>
<P>
<A NAME="IDX318"></A>
<H3><A NAME="SEC109" HREF="spec_toc.html#TOC109">-oeq</A></H3>
<P>
<A NAME="IDX319"></A>
This option is supported for compatibility with Sendmail, but has the same
effect as -<EM>oep</EM>.
</P>
<P>
<A NAME="IDX320"></A>
<H3><A NAME="SEC110" HREF="spec_toc.html#TOC110">-oew</A></H3>
<P>
<A NAME="IDX321"></A>
This option is supported for compatibility with Sendmail, but has the same
effect as -<EM>oem</EM>.
</P>
<P>
<A NAME="IDX322"></A>
<H3><A NAME="SEC111" HREF="spec_toc.html#TOC111">-oi</A></H3>
<P>
<A NAME="IDX323"></A>
This option, which has the same effect as -<EM>i</EM>, specifies that a dot on a line
by itself should not terminate an incoming, non-SMTP message.
This is the default if Exim is called as <EM>rmail</EM>.
</P>
<P>
<A NAME="IDX324"></A>
<H3><A NAME="SEC112" HREF="spec_toc.html#TOC112">-oitrue</A></H3>
<P>
This option is treated as synonymous with -<EM>oi</EM>.
</P>
<P>
<A NAME="IDX325"></A>
<H3><A NAME="SEC113" HREF="spec_toc.html#TOC113">-oMa <<EM>host address</EM>></A></H3>
<P>
<A NAME="IDX326"></A>
<A NAME="IDX327"></A>
This option sets the sender host address value, and can be used only by a
trusted caller,
<font color=green>
except in conjunction with the -<EM>bh</EM>, -<EM>bf</EM>, -<EM>bF</EM>, -<EM>bt</EM>, or -<EM>bv</EM> testing
options. The host address may include a port number at the end, after full
stop. For example
<PRE>
exim -bs -oMa 10.9.8.7.1234
</PRE>
<P>
</font>
A real incoming connection overrides the address set by -<EM>oMa</EM>. The value is
used in log entries and can appear in <EM>Received:</EM> headers. The option is
intended for use when handing to Exim messages received by other means, either
via the command line or by using the -<EM>bs</EM> option. If -<EM>oMt</EM> is set then -<EM>oMa</EM>
should normally be set as well.
</P>
<P>
<A NAME="IDX328"></A>
<H3><A NAME="SEC114" HREF="spec_toc.html#TOC114">-oMi <<EM>interface address</EM>></A></H3>
<P>
<A NAME="IDX329"></A>
<A NAME="IDX330"></A>
This option sets the IP interface address value, and can be used only by a
trusted caller,
<font color=green>
except in conjunction with the -<EM>bh</EM>, -<EM>bf</EM>, -<EM>bF</EM>, -<EM>bt</EM>, or
-<EM>bv</EM> testing options.
</font>
A real incoming connection overrides the address set by -<EM>oMi</EM>. The option is
intended for use when handing to Exim messages received by other means, either
via the command line or by using the -<EM>bs</EM> option.
</P>
<P>
<A NAME="IDX331"></A>
<H3><A NAME="SEC115" HREF="spec_toc.html#TOC115">-oMr <<EM>protocol name</EM>></A></H3>
<P>
<A NAME="IDX332"></A>
<A NAME="IDX333"></A>
This option sets the received protocol value, and can be used only by a trusted
caller,
<font color=green>
except in conjunction with the -<EM>bh</EM>, -<EM>bf</EM>, -<EM>bF</EM>, -<EM>bt</EM>, or
-<EM>bv</EM> testing options.
</font>
The value is used in log entries and can appear in <EM>Received:</EM> headers. The
option is intended for use when handing to Exim messages received by other
means. It applies only to non-SMTP and batched SMTP input.
</P>
<P>
<A NAME="IDX334"></A>
<H3><A NAME="SEC116" HREF="spec_toc.html#TOC116">-oMs <<EM>host name</EM>></A></H3>
<P>
<A NAME="IDX335"></A>
<A NAME="IDX336"></A>
This option sets the sender host name value, and can be used only by a trusted
caller,
<font color=green>
except in conjunction with the -<EM>bh</EM>, -<EM>bf</EM>, -<EM>bF</EM>, -<EM>bt</EM>, or
-<EM>bv</EM> testing options.
</font>
The value is used in log entries and can appear in <EM>Received:</EM> headers. The
option is intended for use when handing to Exim messages received by other
means.
</P>
<P>
<A NAME="IDX337"></A>
<H3><A NAME="SEC117" HREF="spec_toc.html#TOC117">-oMt <<EM>ident string</EM>></A></H3>
<P>
<A NAME="IDX338"></A>
<A NAME="IDX339"></A>
This option sets the sender ident value, and can be used only by a trusted
caller,
<font color=green>
except in conjunction with the -<EM>bh</EM>, -<EM>bf</EM>, -<EM>bF</EM>, -<EM>bt</EM>, or
-<EM>bv</EM> testing options.
</font>
The value is used in log entries and can appear in <EM>Received:</EM> headers. The
default setting for local callers is the login id of the calling process. This
can be overridden by supplying an empty argument. The option is intended for
use when handing to Exim messages received by other means.
</P>
<P>
<A NAME="IDX340"></A>
<H3><A NAME="SEC118" HREF="spec_toc.html#TOC118">-om</A></H3>
<P>
In Sendmail, this option means `me too', indicating that the sender of a
message should receive a copy of the message if the sender appears in an alias
expansion. Exim always does this, so the option does nothing.
</P>
<P>
<A NAME="IDX341"></A>
<H3><A NAME="SEC119" HREF="spec_toc.html#TOC119">-oo</A></H3>
<P>
This option is ignored. In Sendmail it specifies `old style headers', whatever
that means.
</P>
<P>
<A NAME="IDX342"></A>
<H3><A NAME="SEC120" HREF="spec_toc.html#TOC120">-or <<EM>time</EM>></A></H3>
<P>
<A NAME="IDX343"></A>
This option sets a timeout value for incoming non-SMTP messages. If it is not
set, Exim will wait forever for the standard input. The value can also be set
using the <EM>accept_timeout</EM> configuration variable. The format used for
specifying times is described in section 7.7.
</P>
<P>
<A NAME="IDX344"></A>
<H3><A NAME="SEC121" HREF="spec_toc.html#TOC121">-ov</A></H3>
<P>
This option has exactly the same effect as -<EM>v</EM>.
</P>
<P>
<A NAME="IDX345"></A>
<H3><A NAME="SEC122" HREF="spec_toc.html#TOC122">-oX <<EM>number</EM>></A></H3>
<P>
<A NAME="IDX346"></A>
<A NAME="IDX347"></A>
This option is relevant only when the -<EM>bd</EM> option is also given. It
overrides any setting of the <EM>daemon_smtp_port</EM> option, and
specifies an alternative TCP/IP port number for the listening daemon.
<A NAME="IDX348"></A>
<A NAME="IDX349"></A>
When used, the process number of the daemon is written to a file whose name is
<EM>exim-daemon.<<EM>number</EM>>.pid</EM> in Exim's spool directory
or the directory specified by PID_FILE_PATH in <TT>`Local/Makefile'</TT>.
</P>
<P>
<A NAME="IDX350"></A>
<H3><A NAME="SEC123" HREF="spec_toc.html#TOC123">-pd</A></H3>
<P>
<A NAME="IDX351"></A>
This option applies when an embedded Perl interpreter is linked with Exim (see
chapter 10). It overrides the setting of the <EM>perl_at_start</EM> option,
forcing the starting of the interpreter to be delayed until it is needed.
</P>
<P>
<A NAME="IDX352"></A>
<H3><A NAME="SEC124" HREF="spec_toc.html#TOC124">-ps</A></H3>
<P>
<A NAME="IDX353"></A>
This option applies when an embedded Perl interpreter is linked with Exim (see
chapter 10). It overrides the setting of the <EM>perl_at_start</EM> option,
forcing the starting of the interpreter to occur as soon as Exim is started.
</P>
<P>
<A NAME="IDX354"></A>
<H3><A NAME="SEC125" HREF="spec_toc.html#TOC125">-q</A></H3>
<P>
<A NAME="IDX355"></A>
<A NAME="IDX356"></A>
If the -<EM>q</EM> option is not followed by a time value, it requests a single queue
run operation. This option requires the caller to be an admin user. However,
there is an option called <EM>prod_requires_admin</EM> which can be set false to
relax this restriction (and also the same requirement for the -<EM>M</EM>, -<EM>R</EM>, and
-<EM>S</EM> options).
</P>
<P>
Exim starts up a delivery process for each (inactive) message on the queue in
turn, and waits for it to finish before starting the next one.
<A NAME="IDX357"></A>
<A NAME="IDX358"></A>
<A NAME="IDX359"></A>
If the delivery process spawns other processes to deliver other messages down
passed SMTP connections, the queue runner waits for these to finish before
proceeding. When all the queued messages have been considered, the original
process terminates. In other words, a single pass is made over the waiting
mail, one message at a time. Use -<EM>q</EM> with a time (see below) if you want this
to be repeated periodically.
</P>
<P>
Exim processes the waiting messages in an unpredictable order. It isn't very
random, but it is likely to be different each time, which is all that matters.
If one particular message screws up a remote MTA, other messages to the same
MTA have a chance of getting through if they get tried first.
</P>
<P>
<font color=green>
It is possible to cause the messages to be processed in lexical message id
order, which is essentially the order in which they arrived, by setting the
<EM>queue_run_in_order</EM> option, but this is not recommended for normal use.
</P>
<P>
When scanning the queue (either randomly or in order), Exim can be made to skip
over messages whose ids are lexically less than a given value by following the
-<EM>q</EM> option with a starting message id. For example:
<PRE>
exim -q 0t5C6f-0000c8-00
</PRE>
<P>
Messages that arrived earlier than 0t5C6f-0000c8-00 are not inspected. If a
second message id is given, messages whose ids are lexically greater it are
also skipped. If the same id is given twice, for example,
<PRE>
exim -q 0t5C6f-0000c8-00 0t5C6f-0000c8-00
</PRE>
<P>
just one delivery process is started, for that message. This differs from -<EM>M</EM>
in that retry data is respected, and it also differs from -<EM>Mc</EM> in that it
counts as a delivery from a queue run. Note that the selection mechanism does
not affect the order in which the messages are scanned. There are also other
ways of selecting specific sets of messages for delivery in a queue run -- see
-<EM>R</EM> and -<EM>S</EM>.
</font>
</P>
<P>
<A NAME="IDX360"></A>
<H3><A NAME="SEC126" HREF="spec_toc.html#TOC126">-q <<EM>time</EM>></A></H3>
<P>
<A NAME="IDX361"></A>
<A NAME="IDX362"></A>
This version of the -<EM>q</EM> option (which again can be run only by an admin user)
causes Exim to run as a daemon, starting a queue-runner process at intervals
specified by the given time value (whose format is described in section
7.7). This form of the -<EM>q</EM> option is commonly combined with the
-<EM>bd</EM> option, in which case a single daemon process handles both functions. A
common way of starting up a combined daemon at system boot time is to use a
command such as
<PRE>
/opt/exim/bin/exim -bd -q30m
</PRE>
<P>
<A NAME="IDX363"></A>
Such a daemon listens for incoming SMTP calls, and also fires up a queue-runner
process every 30 minutes. The process id of such a daemon is written to a file
<A NAME="IDX364"></A>
<A NAME="IDX365"></A>
called <EM>exim-daemon.pid</EM> in Exim's spool directory, unless the -<EM>oX</EM> option has
been used, in which case the file is called <EM>exim-daemon.<<EM>port-number</EM>>.pid</EM>.
The location of the pid file can be changed by defining PID_FILE_PATH in
<TT>`Local/Makefile'</TT>. If a daemon is started without -<EM>bd</EM> then the -<EM>q</EM> option
used to start it is added to the pid file name.
</P>
<P>
<A NAME="IDX366"></A>
<H3><A NAME="SEC127" HREF="spec_toc.html#TOC127">-qf</A></H3>
<P>
<A NAME="IDX367"></A>
This option operates like -<EM>q</EM>, and may appear with or without a following
time. The difference is that a delivery attempt is forced for each non-frozen
message, whereas with -<EM>q</EM> only those non-frozen addresses that have passed
their retry times are tried.
</P>
<P>
<A NAME="IDX368"></A>
<H3><A NAME="SEC128" HREF="spec_toc.html#TOC128">-qff</A></H3>
<P>
<A NAME="IDX369"></A>
<A NAME="IDX370"></A>
This option operates like -<EM>qf</EM> and may appear with or without a following
time. The difference is that any frozen messages are automatically thawed, and
delivery is attempted for them.
</P>
<P>
<A NAME="IDX371"></A>
<H3><A NAME="SEC129" HREF="spec_toc.html#TOC129">-qfl</A></H3>
<P>
This option operates like -<EM>ql</EM>, and may appear with or without a following
time. The difference is that a delivery attempt is forced for the local
addresses in each non-frozen message, whereas with -<EM>ql</EM> only those non-frozen
local addresses that have passed their retry times are tried.
</P>
<P>
<A NAME="IDX372"></A>
<H3><A NAME="SEC130" HREF="spec_toc.html#TOC130">-qffl</A></H3>
<P>
<A NAME="IDX373"></A>
This option operates like -<EM>qfl</EM> and may appear with or without a following
time. The difference is that any frozen messages are automatically thawed, and
delivery is attempted for any local addresses in them.
</P>
<P>
<A NAME="IDX374"></A>
<H3><A NAME="SEC131" HREF="spec_toc.html#TOC131">-ql</A></H3>
<P>
<A NAME="IDX375"></A>
<A NAME="IDX376"></A>
This option operates like -<EM>q</EM>, and may appear with or without a following
time. The difference is that only local addresses (those with domains that
match <EM>local_domains</EM>) are considered for delivery. Note that -<EM>ql</EM> cannot
detect apparently remote addresses that actually turn out to be local when
their domains get fully qualified.
</P>
<P>
<A NAME="IDX377"></A>
<H3><A NAME="SEC132" HREF="spec_toc.html#TOC132">-qq</A></H3>
<P>
<A NAME="IDX378"></A>
<A NAME="IDX379"></A>
<A NAME="IDX380"></A>
If any command line option starting with -<EM>q</EM> is specified with an additional
<EM>q</EM> (for example, -<EM>qqf</EM>) then all the resulting queue runs are done in two
stages. In the first stage, the queue is scanned
as if the <EM>queue_smtp_domains</EM> option matched every domain.
This causes remote addresses to be routed, but no transportation to be done.
The database that remembers which messages are waiting for specific hosts is
updated, as if delivery to those hosts had been deferred. After this is
complete, a second, normal queue scan happens, and normal directing, routing,
and delivery takes place. Messages which are routed to the same host should
mostly be delivered down a single SMTP
<A NAME="IDX381"></A>
<A NAME="IDX382"></A>
<A NAME="IDX383"></A>
connection because of the hints that were set up during the first queue scan.
This option may be useful for hosts that are connected to the Internet
intermittently.
</P>
<P>
<A NAME="IDX384"></A>
<H3><A NAME="SEC133" HREF="spec_toc.html#TOC133">-qR<<EM>flags</EM>> <<EM>string</EM>></A></H3>
<P>
This option is synonymous with -<EM>R</EM>. It is provided for Sendmail
compatibility.
</P>
<P>
<A NAME="IDX385"></A>
<H3><A NAME="SEC134" HREF="spec_toc.html#TOC134">-qS<<EM>flags</EM>> <<EM>string</EM>></A></H3>
<P>
This option is synonymous with -<EM>S</EM>.
</P>
<P>
<A NAME="IDX386"></A>
<H3><A NAME="SEC135" HREF="spec_toc.html#TOC135">-R<<EM>flags</EM>> <<EM>string</EM>></A></H3>
<P>
<A NAME="IDX387"></A>
<A NAME="IDX388"></A>
<A NAME="IDX389"></A>
The <<EM>flags</EM>> may be empty, in which case the white space before the string is
optional, unless the string is `f', `ff', `r', `rf', or `rff', which are the
possible values for <<EM>flags</EM>>. White space is required if <<EM>flags</EM>> is not
empty.
</P>
<P>
This option is similar to -<EM>q</EM> with no time value, that is, it causes Exim to
perform a single queue run, except that, when scanning the messages on the
queue, Exim processes only those that have at least one undelivered address
containing the given string, which is checked in a case-independent way. If the
<<EM>flags</EM>> start with `r', <<EM>string</EM>> is interpreted as a regular
expression; otherwise it is a literal string.
<A NAME="IDX390"></A>
If the <<EM>flags</EM>> contain `ff' then frozen messages are included; otherwise they
are omitted.
</P>
<P>
Once a message is selected, all its addresses are processed. For the first
selected message, Exim always overrides any retry information and forces a
delivery attempt for each undelivered address. If the <<EM>flags</EM>> contain `f' or
`ff' then this forcing applies to all selected messages, not just the first.
</P>
<P>
The -<EM>R</EM> option makes it straightforward to initiate delivery of all messages
to a given domain after a host has been down for some time. When the SMTP
command ETRN is permitted (see the <EM>smtp_etrn_hosts</EM> option), its default
effect is to run Exim with the -<EM>R</EM> option, but it can be configured to run an
arbitrary command instead.
</P>
<P>
<A NAME="IDX391"></A>
<H3><A NAME="SEC136" HREF="spec_toc.html#TOC136">-r</A></H3>
<P>
This is a documented (for Sendmail) obsolete alternative name for -<EM>f</EM>.
</P>
<P>
<A NAME="IDX392"></A>
<A NAME="IDX393"></A>
<H3><A NAME="SEC137" HREF="spec_toc.html#TOC137">-S<<EM>flags</EM>> <<EM>string</EM>></A></H3>
<P>
This option acts like -<EM>R</EM> except that it checks the string against each
message's sender instead of against the recipients. If -<EM>R</EM> is also set, both
conditions must be met for a message to be selected. If either of the options
has `f' or `ff' in its flags, the associated action is taken.
</P>
<P>
<A NAME="IDX394"></A>
<H3><A NAME="SEC138" HREF="spec_toc.html#TOC138">-t</A></H3>
<P>
<A NAME="IDX395"></A>
<A NAME="IDX396"></A>
<A NAME="IDX397"></A>
<A NAME="IDX398"></A>
When Exim is receiving a locally-generated, non-SMTP message on the current
input, the -<EM>t</EM> option causes the recipients of the message to be obtained from
the <EM>To:</EM>, <EM>Cc:</EM>, and <EM>Bcc:</EM> headers in the message instead of from the command
arguments.
The addresses are extracted before any rewriting takes place.
</P>
<P>
If there are in fact any arguments, they specify addresses to which the message
is <EM>not</EM> to be delivered. That is, the argument addresses are removed from
the recipients list obtained from the headers. This is compatible with Smail 3
and in accordance with the documented behaviour of
several versions of Sendmail, as described in man pages on a number of
operating systems (e.g. Solaris 2.6, IRIX 6.5, HP-UX 11). However, some
versions of Sendmail <EM>add</EM> argument addresses to those obtained from the
headers, and a 1994 Sendmail book documents it that way.
Exim can be made to behave in this way by setting the option
<EM>extract_addresses_remove_arguments</EM> false.
</P>
<P>
If a <EM>Bcc:</EM> header
is present, it is removed from the message unless there is no <EM>To:</EM> or <EM>Cc:</EM>
header, in which case a <EM>Bcc:</EM> header with no data is created, in accordance
with RFC 822.
</P>
<P>
<font color=green>
<A NAME="IDX399"></A>
<H3><A NAME="SEC139" HREF="spec_toc.html#TOC139">-U</A></H3>
<P>
Sendmail uses this option for `initial message submission', and its
documentation states that in future releases, it may complain about
syntactically invalid messages rather than fixing them when this flag is not
set. Exim ignores this option.
</font>
</P>
<P>
<A NAME="IDX400"></A>
<H3><A NAME="SEC140" HREF="spec_toc.html#TOC140">-v</A></H3>
<P>
This option has exactly the same effect as -<EM>d1</EM>; it causes Exim to be
`verbose' and produce some output describing what it is doing on the standard
error file. In particular, if an SMTP connection is made, the SMTP dialogue is
shown.
</P>
<P>
<A NAME="IDX401"></A>
<H3><A NAME="SEC141" HREF="spec_toc.html#TOC141">-x</A></H3>
<P>
AIX uses -<EM>x</EM> for a private purpose (`mail from a local mail program has
National Language Support extended characters in the body of the mail item').
It sets -<EM>x</EM> when calling the MTA from its <EM>mail</EM> command. Exim ignores this
option.
</P>
<P><HR><P>
Go to the <A HREF="spec_1.html">first</A>, <A HREF="spec_4.html">previous</A>, <A HREF="spec_6.html">next</A>, <A HREF="spec_59.html">last</A> section, <A HREF="spec_toc.html">table of contents</A>.
</BODY>
</HTML>
|