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 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747
|
Frequently Asked Questions
Last updated April 3, 2007
_________________________________________________________________
Top 5 - the most frequently asked questions about sendmail
1. Local config error: see 4.5
2. Relaying denied: see 3.27
3. Directory permissions: see 3.33
4. Virtual hosting: see 3.7 & 3.28
5. POP / IMAP: see 4.19
_________________________________________________________________
Table of Contents
* 0. Plain-text version now available.
* 1. COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS
* 2. INTRODUCTION / MISCELLANEOUS
+ 2.1 What is this newsgroup?
+ 2.2 What is the scope of this FAQ?
+ 2.3 Where can I find the latest version of this FAQ?
+ 2.4 Where can I send comments, questions and bug reports?
+ 2.5 Where can I ask email-related DNS questions?
+ 2.6 How can I subscribe to these newsgroups?
+ 2.7 Which version of sendmail should I run?
+ 2.8 What is the latest release of sendmail?
+ 2.9 Where can I find it?
+ 2.10 What are the differences between Version 8 and other
versions?
+ 2.11 What's the best platform for running sendmail?
+ 2.12 What is BIND and where can I get the latest version?
+ 2.13 What is smrsh and where can I get it?
+ 2.14 What is smap and where can I get it?
+ 2.15 What is TCP-Wrappers and where can I get it?
+ 2.16 Why won't db 1.85 build on my machine?
+ 2.17 What is makemap and where can I get it?
* 3. VERSION 8 SPECIFIC ISSUES
+ 3.1 How do I make all my addresses appear to be from a single
host?
+ 3.2 How do I rewrite my "From:" lines to read
``First_Last@My.Domain'' or ``Different_Name@My.Domain''?
+ 3.3 But what about fully-qualified addresses, such as those
from Pine or FEATURE(always_add_domain)?
+ 3.4 So what was the user database feature intended for?
+ 3.5 Why the hostility toward using full names for email
addresses?
+ 3.6 deprecated
+ 3.7 How do I manage several (virtual) domains?
+ 3.8 There are four UUCP mailers listed in the configuration
files. Which one should I use?
+ 3.9 deprecated
+ 3.10 How do I solve "collect: I/O error on connection" or
"reply: read error from host.name" errors?
+ 3.11 Why can't my users forward their mail to a program?
+ 3.12 Why do connections to the SMTP port take such a long
time?
+ 3.13 Why do I get "unknown mailer error 5 -- mail: options
MUST PRECEDE recipients" errors?
+ 3.14 Why does version 8 sendmail panic my SunOS box?
+ 3.15 Why does the Unix From line get mysteriously munged when
I send to an alias?
+ 3.16 Why doesn't MASQUERADE_AS (or the user database) work
for envelope addresses as well as header addresses?
+ 3.17 How do I run version 8 sendmail and support the MAIL11V3
protocol?
+ 3.18 Why do messages disappear from my queue unsent?
+ 3.19 When is sendmail going to support RFC 2047 MIME header
encoding?
+ 3.20 Why can't I get mail to some places, but instead always
get the error "reply: read error from name.of.remote.host"?
+ 3.21 Why doesn't "FEATURE(xxx)" work?
+ 3.22 How do I configure sendmail not to use DNS?
+ 3.23 How do I get all my queued mail delivered to my Unix box
from my ISP?
+ 3.24 Why do I get the error message unable to write
/etc/mail/sendmail.pid?
+ 3.25 Why can't I compile sendmail with Berkeley DB 2.X?
+ 3.26 What operating systems has Berkeley sendmail been ported
to?
+ 3.27 How do I prevent Relaying Denied errors for my clients?
+ 3.28 Why isn't virtual hosting working, even after I added a
Kvirtuser line to sendmail.cf ?
+ 3.29 How can I add a header specifying the actual recipient
when having multiple users in a virtual domain go to a single
mailbox?
+ 3.30 What do I do when Build fails because groff was not
found?
+ 3.31 What does "class hash not available" mean?
+ 3.32 How do I configure majordomo with sendmail 8.9 without
relaxing the DontBlameSendmail option?
+ 3.33 How do I configure my system in general with sendmail
8.9?
+ 3.34 What does "foo not available for sendmail programs"
mean?
+ 3.35 How do I add a footer/signature to all (outgoing) e-mail
messages?
+ 3.36 What does "Cannot open hash database ... Invalid
argument" mean?
+ 3.37 What does "parse error before `NDBM'" mean?
+ 3.38 What does "may be forged" mean?
+ 3.39 How do I send using an alternate port?
+ 3.40 Why can't I use BerkeleyDB 4.1.x?
+ 3.41 How do I use CIDR notation in the access map (or other
places)?
+ 3.42 Why isn't CIDR notation directly supported by sendmail?
+ 3.43 What does "Need to recompile with -DNEWDB for hash
support" mean?
+ 3.44 I disabled sendmail on some machines which don't receive
mail, but since upgrading to 8.12 they can't send mail
either; why?
* 4. GENERAL SENDMAIL ISSUES
+ 4.1 Should I use a wildcard MX for my domain?
+ 4.2 How can I set up an auto-responder?
+ 4.3 How can I get sendmail to deliver local mail to
$HOME/.mail instead of into /usr/spool/mail (or /usr/mail)?
+ 4.4 Why does it deliver the mail interactively when I'm
trying to get it to go into queue only mode?
+ 4.5 How can I solve "MX list for hostname points back to
hostname" and "config error: mail loops back to myself"
messages?
+ 4.6 Why does my sendmail process sometimes hang when
connecting over a SLIP/PPP link?
+ 4.7 How can I summarize the statistics generated by sendmail
in the syslog?
+ 4.8 How can I check my sendmail.cf to ensure that it's
re-writing addresses correctly?
+ 4.9 What is procmail, and where can I get it?
+ 4.10 How can I solve "cannot alias non-local names" errors?
+ 4.11 Is sendmail Year 2000 (Y2K) compliant?
+ 4.12 How can I batch remote mail to be sent using my ISP
while delivering local mail immediately?
+ 4.13 What does "unknown mailer error 1" mean?
+ 4.14 How do I queue mail for another domain?
+ 4.15 How do I create attachments with sendmail?
+ 4.16 How do I find sendmail's version number?
+ 4.17 How do I handle user names with upper-case characters?
+ 4.18 What does "NOQUEUE: Null connection from ..." mean?
+ 4.19 How do I configure sendmail for POP/IMAP/... ?
+ 4.20 How can I automatically copy messages based on sender or
recipient addresses?
+ 4.21 How can I send mail to all users?
+ 4.22 Why can't I receive external mail?
+ 4.23 How do I restrict attachments with sendmail?
+ 4.24 Can I get sendmail to verify an entire e-mail address
instead of just the domain?
* 5. VENDOR/OS SPECIFIC SENDMAIL ISSUES
+ 5.1 Sun Microsystems SunOS/Solaris 1.x/2.x
o 5.1.1 How can I solve "line 273: replacement $3 out of
bounds" errors?
o 5.1.2 How can I solve "line 445: bad ruleset 96 (50
max)" errors?
o 5.1.3 Why does version 8 sendmail (< 8.7.5) sometimes
hang under Solaris 2.5?
o 5.1.4 Why can't I use SunOS/Solaris to get email to
certain large sites?
o 5.1.5 Why do I have trouble compiling on Solaris?
o 5.1.6 How does 8.X compare to 8.X+Sun?
+ 5.2 IBM AIX
o 5.2.1 The system resource controller always reports
sendmail as "inoperative". What's wrong?
o 5.2.2 Why can't I use AIX to get email to some sites?
o 5.2.3 Why can't I get sendmail 8.7.1 to use MX records
with AIX 3.2.5?
+ 5.3 Linux
o 5.3.1 Red Hat
# 5.3.1.1 Why do I have so many sendmail problems
after configuring sendmail with linuxconf?
# 5.3.1.2 I built sendmail.cf from sendmail.mc and it
works until the next reboot of the machine. What is
going on?
# 5.3.1.3 Why can't I receive mail with Red Hat 7.1
and later?
o 5.3.2 SuSE
# 5.3.2.1 Where is the sendmail.mc file on SuSE
Linux?
* 6. ADDITIONAL INFORMATION SOURCES (RFC 1807 bibliography format)
+ 6.1 Reference material devoted exclusively to sendmail
+ 6.2 Reference material with chapters or sections on sendmail
+ 6.3 Reference material on subjects related to sendmail
+ 6.4 World-wide web index pages on sendmail
+ 6.5 World-wide web index pages Internet email in general
+ 6.6 Online tutorials for sendmail
+ 6.7 Online archives of mailing lists and Usenet newsgroups,
relating to Internet email
* 7. THANKS!
sendmail.org 1. COPYRIGHT NOTICE / REDISTRIBUTION REQUIREMENTS
The entire contents of this document are copyright 1997 - 2000 by the
Sendmail Consortium, all rights reserved.
This document may be freely distributed for non-profit purposes
(including, but not limited to: posting to mailing lists, Usenet
newsgroups, and world-wide-web pages; inclusion on CD-ROM or other
distribution media; and insertion into text retrieval systems), so
long as it is the latest version available at the time, all parts are
distributed together, and it is kept completely intact without
editing, changes, deletions, or additions. Non-profit redistribution
in accordance with these guidelines does not require contact with or
approval from the copyright holder.
Redistribution of this document for profit without express prior
permission is not allowed. At the very least, expect to provide the
copyright holder a free copy of the product (exactly as it would be
sold to customers, all distribution media intact), or a percentage of
the gross revenue from said product and sufficient proof that the
integrity and completeness requirements set for non-profit
distribution will be met.
In the event that the copyright holder discovers a redistributed
version that is not in compliance with the above requirements, he will
make a good-faith effort to get it corrected or removed, and failing
that, at least note its deprecated status in a new version. Legal
action will likely be taken against redistribution for profit that is
not in compliance with the above requirements.
sendmail.org
2. INTRODUCTION / MISCELLANEOUS
* 2.1 What is this newsgroup?
* 2.2 What is the scope of this FAQ?
* 2.3 Where can I find the latest version of this FAQ?
* 2.4 Where can I send comments, questions and bug reports?
* 2.5 Where can I ask email-related DNS questions?
* 2.6 How can I subscribe to these newsgroups?
* 2.7 Which version of sendmail should I run?
* 2.8 What is the latest release of sendmail?
* 2.9 Where can I find it?
* 2.10 What are the differences between Version 8 and other
versions?
* 2.11 What's the best platform for running sendmail?
* 2.12 What is BIND and where can I get the latest version?
* 2.13 What is smrsh and where can I get it?
* 2.14 What is smap and where can I get it?
* 2.15 What is TCP-Wrappers and where can I get it?
* 2.16 Why won't db 1.85 build on my machine?
* 2.17 What is makemap and where can I get it?
_________________________________________________________________
Q2.1 -- What is this newsgroup?
Date: May 28, 1996
The Usenet newsgroup comp.mail.sendmail is dedicated to the discussion
of the program named "sendmail" in all its various forms. It is most
commonly found on computers running a flavor of the Operating System
known as Unix, or derived from Unix.
This program has been ported to other OSes, but those versions have
typically been ported by a particular vendor and are considered
proprietary. There are many versions of sendmail, but the original
author (Eric Allman) is continuing development on a particular version
typically referred to as "Version Eight" or sometimes just "V8". This
is considered by many to be the One True Version. This is also the
version that this FAQ is centered around.
If you have a question that amounts to "How do I send mail to my
friend?", then you're in the wrong newsgroup. You should first check
with your System or E-Mail Administrator(s), BBS SysOp(s), etc...
before you post your question publicly, since the answer will likely
be very highly dependent on what software and hardware you have. You
also don't want to embarrass yourself publicly, nor do you want to
annoy the kinds of people who are likely to be the counterparts of
your System or E-Mail Administrator(s), BBS SysOp(s), etc.... If
asking them doesn't do you any good, make sure you read this FAQ and
the other mail-related FAQs at the archive sites listed below.
If you have a question about another program similar to sendmail
(technically referred to as an "SMTP MTA"), an SMTP Gateway package,
or a LAN email package, then you should see if there is another group
in the comp.mail hierarchy that more closely matches the particular
program you want to ask a question about. For example, the SMTP MTA
known as Smail has comp.mail.smail dedicated to it. The Mail User
Agent (MUA) Eudora has two newsgroups dedicated to it
(comp.mail.eudora.mac and comp.mail.eudora.ms-windows), depending on
which hardware platform you use. If there isn't a more appropriate
newsgroup, try comp.mail.misc. Again, make sure your question isn't
already addressed in one of the mail-related FAQs or other available
documentation. See the IMC website (more info below) for a good list
of mail-related FAQs.
If you have a question about an older or vendor-proprietary version of
sendmail, be prepared for a lot of answers that amount to "Get V8".
Version 8 isn't a panacea, but it does solve many problems known to
plague previous versions, as well as having many new features that
make it much easier to administer large or complex sites. In many
cases, it makes at least possible what was previously virtually
impossible, and relatively easy the previously difficult.
There are, of course, many alternative programs that have sprung up in
an attempt to answer one or another weakness or perceived fault of
sendmail, but so far, none of them have had the kind of success it
would require to unseat it as the de facto standard program for
sending Internet mail. Obviously, this forum should not be used to
discuss the merits of any of the alternative programs versus sendmail.
These kinds of discussions should be taken to comp.mail.misc, or you
should agitate to get a new newsgroup or newsgroup hierarchy created
where that sort of thing is acceptable (or even the norm, such as a
comp.mail.advocacy or news:comp.mail.mta.advocacy newsgroup).
_________________________________________________________________
Subject: Q2.2 -- What is the scope of this FAQ?
Date: April 9, 1997
This FAQ is strongly centered around version 8 sendmail, for many
reasons. First and foremost, this is the area of most interest on the
part of the maintainers of this FAQ. Secondly, version 8 is where most
of the additional development is being concentrated. Version 8
sendmail is also the best documented of all SMTP MTAs, by virtue of
the book by Bryan Costales (see entry
sendmail-faq//book/ISBN/1-56592-222-0 in Q6.1).
Other versions of sendmail get mentioned in passing, and some
interesting interactions between version 8 and various OSes is also
covered.
This FAQ is aimed primarily at the experienced Unix System
Administrator/Postmaster/DNS Domain Administrator. If you're looking
for introductory texts, see the references in Q6.1.
_________________________________________________________________
Q2.3 -- Where can I find the latest version of this FAQ?
Date: February 20, 1998
We post changes as they occur to the sendmail FAQ support page at
http://www.sendmail.org/faq/.
_________________________________________________________________
Q2.4 -- Where can I send comments, questions and bug reports?
Date: April 26, 2006
First, please refer to our E-mail Addresses page
(http://www.sendmail.org/misc/email-addresses.php), which has a more
complete answer.
Next, if you have a question about sendmail, then please post it to
the Usenet group comp.mail.sendmail. This newsgroup is dedicated to
sendmail. Please make sure you check the usual resources before
posting and follow the netiquette. Also, if you do not have access to
an NNTP server, you might want to use Google Groups.
Finally, e-mail addresses to contact sendmail.org are (do not send
questions about sendmail to these addresses, see above instead;
replace YYYY with the current year, e.g., 2006, in all of these
addresses):
* < sendmail-YYYY (at) support.sendmail.org > for contributing
patches, feature requests, and general comments but not questions
how to use, install, or configure sendmail;
* < sendmail-bugs-YYYY (at) support.sendmail.org > to report
implementation bugs;
* < sendmail-faq-YYYY (at) support.sendmail.org > only for comments
/ questions about the FAQ. Please mark your mail clearly with
"FAQ: item" where item is the entry in the faq to which you are
referring. If it is a general comment about the FAQ, use "FAQ:
general", if it is an addition, use "FAQ: new".
* < sendmail-security-YYYY (at) support.sendmail.org > (use this
only to report security related bugs or problems in sendmail).
Please do not use this to ask about problems with your
configuration, including how to stop spam, how to set up your own
certificate authority, how to make sendmail work with S/MIME, etc.
All such questions should be asked in comp.mail.sendmail. Also,
please do not tell us that you were able to forge mail by using
telnet to connect to port 25; this is fundamental to the Internet
design for SMTP, and not a sendmail bug. Please use PGP for
encryption to send mail to this address.
* < sendmail-mirror-YYYY (at) support.sendmail.org > for updates
about a mirror (e.g., a new mirror or an address change).
* < webmaster-YYYY (at) support.sendmail.org > for comments about
the website.
Note: remove all spaces in those addresses and replace "(at)" with "@"
(without the quotes).
If you post a message to comp.mail.sendmail and send it to one of the
above addresses, please clearly indicate so at the top of your
message.
Also, please don't send HTML or graphics; plain text is sufficient.
_________________________________________________________________
Q2.5 -- Where can I ask email-related DNS questions?
Date: March 23, 1996
Depending on how deeply they get into the DNS, they can be asked here.
However, you'll probably be told that you should send them to the
Usenet newsgroup comp.protocols.tcp-ip.domains (DNS in general) or to
the Info-BIND mailing list (if the question is specific to that
program).
_________________________________________________________________
Q2.6 -- How can I subscribe to these?
Date: June 19, 1997
For comp.protocols.tcp-ip.domains, you have to be on Usenet. They
don't have a news-to-mail gateway yet (I'm working on this), but they
do have a FAQ.
Questions from all levels of experience can be found on this newsgroup
(as well as people to answer them), so don't be shy about asking a
question you think may be too simple.
Some more information from the BIND 8.1 src/README file:
CAPTION: Kits, Questions, Comments, and Bug Reports
URL Purpose
ftp.isc.org/isc/bind/src/cur current non-test release
ftp.isc.org/isc/bind/src/testing latest public test kit
_________________________________________________________________
comp.protocols.dns.bind using BIND
comp.protocols.dns.ops DNS operations in general
comp.protocols.dns.std DNS standards in general
_________________________________________________________________
bind-users-request@vix.com gw'd to c.p.d.bind
namedroppers-request@internic.net gw'd to c.p.d.std
bind-workers-request@vix.com code warriors only please
_________________________________________________________________
www.isc.org/bind.html the BIND home page
bind-bugs@isc.org bug reports
_________________________________________________________________
Q2.7 -- Which version of sendmail should I run?
Date: April 8, 1997
Updated: March 7, 2000
If you're concerned at all about the security of your machines, you
should make sure you're at least running a recent release of version 8
sendmail (either from your vendor or the public version detailed in
Q2.8).
Check the CERT Alerts and Summaries to make sure that you're running a
version that is free of known security holes. Just because the
sendmail program provided by your vendor isn't listed doesn't mean
that you're not vulnerable, however. If your particular vendor or
version isn't listed, check with your vendor and on the appropriate
Internet mailing lists and Usenet newsgroups to verify.
If nothing else, the most recent public version is usually a pretty
good bet, although you should check comp.mail.sendmail to see if
anyone has posted recent comments that haven't yet been folded into a
new release.
That said, you need to look at what the primary function is for the
machine. If its primary function is to run some CAD/CAM package on the
desk of an engineer, then there's probably not much sense in replacing
the vendor-supplied version of sendmail (assuming it's secure,
according to the CERT Alerts and Summaries). Just set the machine up
to forward all outbound mail to a central mail relay, and then worry
about making that central mail relay the best it can be. Also arrange
to have all their inbound mail pass through a central Mail eXchanger
(probably the same machine as the central Mail Relay), for the same
reasons.
If the primary function for a machine is to act as that central Mail
Relay/Mail eXchanger, then we *strongly* recommend the best version of
sendmail you can get, and in our opinion that is the latest release of
version 8. IDA sendmail is also pretty good, but virtually everything
it does, version 8 does better, and version 8 has the additional
advantage of having continued development as well.
If fighting spam is a concern, then by all means upgrade to 8.10.X .
8.9.X has good anti-spam features, but 8.10.X has even more features,
and the anti-spam ones are more flexible than those in 8.9.X .
However, keep in mind that version 8 still hasn't been ported (so far
as we know) to some of the older (and perhaps more esoteric)
platforms, and if you're stuck using one of them, you may not have
much choice.
Some vendors have started shipping (or announced that they will soon
ship) version 8 sendmail pre-configured for their machines.
Unfortunately, in most cases this means you get a pre-compiled binary
and a sendmail.cf file (that may need a bit of tweaking), but not much
else of the "standard" version 8 sendmail installation kit. Silicon
Graphics (SGI) and Hewlett-Packard are known to already be shipping
version 8 sendmail in this fashion.
Sun Microsystems did the same with SunOS 5.5, 5.5.1 and 5.6, shipping
a version based on 8.6 with their own proprietary config files. Recent
patches for 5.5.1 and 5.6, however, upgrade to a version based on
8.8.8 with a sendmail.cf that is only slightly tweaked. More
importantly, a cf hierarchy is available under /usr/lib/mail/. More
details are available at the Sun migration page.
_________________________________________________________________
Q2.8 -- What is the latest release of sendmail?
Date: October 24, 1997
Updated: April 3, 2007
For version 8 sendmail, there are six release trees.
For those people who, for whatever reason, are unable or unwilling to
upgrade to version 8.14.x, releases of versions 8.13, 8.12, 8.11, 8.10
and 8.9 sendmail are still available but are not being updated. The
last release of version 8.9 sendmail was 8.9.3; the last release of
8.10 was 8.10.2; the last release of 8.11 was 8.11.6; the last release
of 8.12 was 8.12.11; the last release of 8.13 was 8.13.8 .
Version 8.14.1 was released on April 3, 2007.
Version 8.14.0 was released on January 31, 2007.
Version 8.13.8 was released on August 9, 2006.
Version 8.13.7 was released on June 14, 2006.
Version 8.13.6 was released on March 22, 2006.
Version 8.13.5 was released on September 16, 2005.
Version 8.13.4 was released on March 27, 2005.
Version 8.13.3 was released on January 11, 2005.
Version 8.13.2 was released on December 15, 2004.
Version 8.13.1 was released on July 30, 2004.
Version 8.13.0 was released on June 20, 2004.
Version 8.12.11 was released on January 18, 2004.
Version 8.12.10 was released on September 17, 2003.
Version 8.12.9 was released on March 29, 2003.
Version 8.12.8 was released on March 3, 2003.
Version 8.12.7 was released on December 29, 2002.
Version 8.12.6 was released on August 26, 2002.
Version 8.12.5 was released on June 25, 2002.
Version 8.12.4 was released on June 3, 2002.
Version 8.12.3 was released on April 5, 2002.
Version 8.12.2 was released on January 13, 2002.
Version 8.12.1 was released on October 1, 2001.
Version 8.12.0 was released on September 8, 2001.
Version 8.11.6 was released on August 20, 2001.
Version 8.11.5 was released on July 31, 2001.
Version 8.11.4 was released on May 28, 2001.
Version 8.11.3 was released on February 27, 2001.
Version 8.11.2 was released on December 29, 2000.
Version 8.11.1 was released on September 28, 2000.
Version 8.11.0 was released on July 19, 2000.
Version 8.10.2 was released on June 7, 2000.
Version 8.10.1 was released on April 7, 2000.
Version 8.10.0 was released on March 7, 2000.
Version 8.9.3 was released on February 4, 1999.
Version 8.9.2 was released on December 31, 1998.
Version 8.9.1 was released on July 2, 1998.
Version 8.9.0 was released on May 20, 1998.
On machines exposed directly to the Internet, you should either
already be running sendmail 8.14.1 or plan on upgrading in the
immediate future. 8.14.1 is considered "stable", has fixes included
that will not be found in any previous release, and therefore
supercedes all previous releases.
There is no further support for previous releases of sendmail.
_________________________________________________________________
Q2.9 -- Where can I find it?
Date: January 21, 1997
Updated: March 7, 2000
By anonymous FTP from ftp.sendmail.org in /pub/sendmail, or (in URL
form) via ftp://ftp.sendmail.org/pub/sendmail/. If you care, there
should be files in this directory that end with the extension ".sig"
which you can check with PGP to make sure that corresponding archives
haven't been modified. You'll need to have the PGP signing key of
Sendmail.ORG on your public keyring to be able to verify these
archives with their associated .sig files.
There are no other known official version 8 sendmail mirrors.
Check the sendmail home page at http://www.sendmail.org/ for
late-breaking updates and other useful information.
If you want to be notified regarding future updates to sendmail and
other items of potential interest, you may want to subscribe to the
sendmail-announce mailing list. Address your subscription requests to
"majordomo@lists.sendmail.org" with "subscribe sendmail-announce" as
the body of the message.
_________________________________________________________________
Q2.10 -- What are the differences between Version 8 and other versions?
Date: March 23, 1996
See doc/changes/changes.{me,ps} in the distribution. See also
RELEASE_NOTES at the top level.
_________________________________________________________________
Q2.11 -- What's the best platform for running sendmail?
Date: April 8, 1997
Generally speaking, I adhere to the old axiom that you should choose
what software you want to run first, then choose the platform
(hardware and OS) that best runs this software. By this token, if
sendmail is the software, then a recent version of BSD Unix would
probably be best, since sendmail was developed at UC Berkeley on BSD
Unix. FreeBSD and BSD/OS are two known implementations of BSD Unix for
Intel-based PC's (among other hardware platforms), and this would make
them the most "native" OSes for sendmail. FreeBSD is freely available
by anonymous ftp or on CD-ROM, and BSD/OS is a commercial product.
However, not everyone has this kind of "luxury". If you're on a
homogeneous network (i.e., completely composed of only one type of
hardware and OS), then you should probably be running the same OS as
the rest of the machines on the network, regardless of the axiom
stated above. You may have other problems, but you should at least be
able to get some local support on the OS for your machine.
Either way, if the primary function of the machine is to handle
"large" quantities of mail (for whatever value you define "large" to
be), I strongly recommend getting the latest stable release of version
8 sendmail.
You may be surprised to find that it is easier for you to support only
one version of sendmail across all the various platforms than it is to
try to support multiple versions of sendmail, each unique for their
particular platform. In that case, the easy solution is to put version
8 sendmail everywhere, and not have to worry about vendor-specific
problems with older versions.
For more information on BSD Unix in general, see the Usenet newsgroups
under comp.unix.bsd, comp.bugs.4bsd, comp.os.386bsd. For more
information on BSD/OS, see the BSD newsgroups mentioned above, or the
BSD/OS Home Page at http://www.bsdi.com/. For more information on
FreeBSD, see the Usenet newsgroups under news:comp.unix.bsd.freebsd,
or the FreeBSD Home Page at http://www.freebsd.org/.
_________________________________________________________________
Q2.12 -- What is BIND and where can I get the latest version?
Date: June 24, 1997
BIND stands for "Berkeley Internet Name Daemon", and is the Internet
de-facto standard program for turning host names into IP addresses.
The BIND Home Page is at http://www.isc.org/bind.html, which provides
pointers to the most recent release of BIND. In May of 1997, the first
production version of BIND-8 was released. The ISC has deprecated
BIND-4 other than for security related patches. No new features or
portability changes will be added to BIND-4. You should be using
BIND-8.
Note that there are bugs in older resolver libraries, which can cause
problems getting to large sites (that list more than five IP addresses
for a particular name), or represent a huge security hole as they do
not check the returned data to see if it will fit in the amount of
space pre-allocated for it.
If at all possible, you should get the most recent "release" version
of BIND and make a serious attempt to integrate it into your
configuration, since virtually all vendor-provided resolver libraries
are woefully out of date.
Note that since the release of BIND version 8.1, many people building
sendmail have experienced problems compiling and linking with the new
BIND include files and libraries under /usr/local/. A section in our
Compiling Sendmail page explains this.
_________________________________________________________________
Q2.13 -- What is smrsh and where can I get it?
Date: July 9, 1996
Updated: July 1, 2000
smrsh is a restricted shell utility that provides the ability to
specify, through a configuration, an explicit list of executable
programs. When used in conjunction with sendmail, smrsh effectively
limits sendmail's scope of program execution to only those programs
specified in smrsh's configuration.
smrsh has been written with portability in mind, and uses traditional
Unix library utilities. As such, smrsh should compile on most Unix C
compilers.
The purpose for restricting the list of programs that can be executed
in this manner is to keep mail messages (either through an alias or
the .forward file in a user's home directory) from being sent to
arbitrary programs which are not necessarily known to be sufficiently
paranoid in checking their input, and can therefore be easily
subverted (this is related to, but different from, the /etc/shells
feature discussed in Q3.11).
More information regarding the CERT-CC can be found at their web site,
http://www.cert.org. For more information on CERT Alerts and CERT
Summaries, see their advisories and summaries, respectively.
You can find smrsh in the most recent sendmail source archive. Other
very useful programs can be found in
http://www.cert.org/other_sources/tool_sources.html.
_________________________________________________________________
Q2.14 -- What is smap and where can I get it?
Date: July 5, 1996
Smap (and smapd) are tools out of the Trusted Information Systems
(TIS) Firewall Toolkit (fwtk). They were originally written by
firewall expert Marcus Ranum under contract to TIS, and TIS is
continuing what maintenance there is. Here is a link to the toolkit.
Support questions regarding the toolkit may be sent to
fwall-support@tis.com, while you may join their mailing list
fwall-users@tis.com by sending electronic mail to
fwall-users-request@tis.com.
The concept of smap and smapd is that sendmail is a huge, monolithic
setuid root program that is virtually impossible to verify as being
"correct" and free from bugs (historically, sendmail has been rather
buggy and an easy mark for system crackers to exploit, although with
the advent of version 8 sendmail, this becomes much more difficult).
In contrast, smap and smapd are very small (only a few hundred lines
long), and relatively easy to verify as being correct and functioning
as designed (however, as you will see later, we can question their
design). According to the theory, it is therefore safer and "better"
to run smap and smapd as "wrappers" around sendmail, which would no
longer need to be run setuid root.
Unfortunately, smap and smapd have a few problems of their own, and
don't appear to have been updated since late March 1996. There have
been conflicting reports of incompatibilities between smapd and
sendmail 8.7.y (both cannot be run on the same machine, although if
you're running sendmail 8.6.x and smap/smapd on the local machine,
people on the outside can still use sendmail 8.7.y to talk to you).
For further information on smap and smapd, see the documentation that
comes with the TIS Firewall Toolkit.
For more information on firewalls, see the Firewalls FAQ at
http://www.interhack.net/pubs/fwfaq/
_________________________________________________________________
Q2.15 -- What is TCP-Wrappers and where can I get it?
Date: April 8, 1997
Updated: April 2, 2001
TCP-Wrappers is another security enhancement package. The theory is
that you take programs being run under inetd (see /etc/inetd.conf) and
before you run the program to do the real work (ftpd, telnetd,
etc...), you first run the connection attempt through a package that
checks to see if the IP address of the source packet is coming from a
host known to be either good or bad (you may filter connection
attempts by source host name, domain name, raw IP address, port they
are attempting to connect to; and either allow known good connections
through thus refusing unknown connections, or accept all connections
except those known to be bad).
The practice of TCP-Wrappers actually follows the theory quite well.
It is a very useful and important tool in the System Administrator's
Bag of Things To Help You Secure Your Machine From Crackers, Spammers,
Junkmailers, and Other Undesirables. However, it only works for
programs that communicate via TCP packets (not UDP, such as NFS)
started up out of inetd. It does not work for RPC-based services, and
programs that start up a daemon outside of inetd and just leave it
running obviously don't benefit beyond the initial connection that
gets the daemon started (however, see the FTP URL below for other
packages that can help secure RPC and portmapper-based services).
However, most sendmail installations tend to start up a daemon and
leave it running at all times. If you did run sendmail out of inetd,
you'd lose the benefit of the load average checking code that is
executed only in daemon mode, and for systems that handle a lot of
mail, this is vitally important.
You can get TCP-Wrappers from ftp://ftp.porcupine.org/pub/security/, a
site that has a whole host of other useful security tools, such as
securelib, portmap, satan, cops, crack, etc... You can also find
pointers to many other useful security tools at
http://ciac.llnl.gov/ciac/SecurityTools.html, and the COAST Archive at
http://www.cerias.purdue.edu/coast/ is a veritable cornucopia of all
things security related.
For the adventurous, you can get a source patch for version 8 sendmail
(created for 8.7.6, but, with work, applicable to older releases) that
will take the core TCP-Wrappers code and integrate it into the daemon,
so that you get the best of both worlds. However, this isn't as
smoothly integrated as it should be, is not for the faint-of-heart,
and is certainly not officially supported by the original author of
sendmail (Eric Allman). This functionality is integrated in a
different fashion into version 8.8.5 sendmail.
You should be able to find the unsupported patch at
ftp://ftp.porcupine.org/pub/security/sendmail-tcpd.patch.
_________________________________________________________________
Q2.16 -- Why won't db 1.85 build on my machine?
Date: April 8, 1997
Updated: May 20, 1997
URL Updated: July 27, 1999
As of release 8.9.X of sendmail, db 1.85 is no longer needed, as
support for db 2.X is included (starting with 2.3.16). More details
are given at Q3.25. The rest of this answer only applies if you have
not yet upgraded to 8.9.X .
The db 1.85 package as available from
http://www.sleepycat.com/register.html provides Irix support up to
Irix 4.05F, but 5.{2,3} need a slightly patched version, as does HP-UX
10.20. Some vendors also provide db standard with their OS (DEC Unix
4.0, for example).
A tarball incorporating these changes for Irix 5.x is available at
ftp://ftp.his.com/pub/brad/sendmail/irix5.tar.gz. This will extract
into ./db.1.85/PORT/irix.5.2, with a symbolic link created from
./db.1.85/PORT/irix.5.3 to this same directory. Make sure you extract
this archive into the same directory where you extracted the db 1.85
archive as available from ftp.cs.berkeley.edu. (see Q3.5 for more
information on getting the db 1.85 package). An ASCII context diff of
this same patch is at
ftp://ftp.his.com/pub/brad/sendmail/irix4-5.diff.
A version of db 1.85 that has supposedly been patched to compile under
Irix 6.2 has been made available at
http://reality.sgi.com/ariel/freeware/#db, but I haven't had a chance
to download and check it out yet.
The context diffs required to get db 1.85 working under HP-UX 10.20
are available at ftp://ftp.his.com/pub/brad/sendmail/hpux.10.20.diff.
A tarball incorporating these changes is available at
ftp://ftp.his.com/pub/brad/sendmail/hp-ux.10.20.tar.gz. This will
extract into ./db.1.85/PORT/hpux.10.20, so make sure you extract this
archive into the same directory where you extracted the db 1.85
archive as available from ftp.cs.berkeley.edu.
_________________________________________________________________
Q2.17 -- What is makemap and where can I get it?
Date: August 30, 1996
The program "makemap" is used to build the databases used by version 8
sendmail, for things like the UserDB, mailertables, etc....
It is distributed as part of the basic operating system from some
vendors, but source code for it is also included at the root level of
the sendmail archive (at least, it is for sendmail 8.6.12 and 8.7.5,
and presumably will continue to be as newer releases come out).
However, it is not considered a "supported" part of version 8
sendmail. Just like the other source provided in the archive, the
Makefile will likely need some tweaking for your specific site.
It turns out that Irix 5.3 doesn't appear to have the dbm or ndbm
libraries, but to compile makemap.c, you need to have -DNDBM on the
"DBMDEF=" line (some necessary things are defined only in
/usr/include/ndbm.h). Try just leaving off "-lndbm" from the "LIBS="
line in the Makefile for makemap.
If you plan on using makemap with db 1.85 on an SGI machine running a
version of Irix later than 4.x, see Q2.16 for some additional steps to
get db 1.85 compiled on your machine.
sendmail.org
3. VERSION 8 SPECIFIC ISSUES
* 3.1 How do I make all my addresses appear to be from a single
host?
* 3.2 How do I rewrite my "From:" lines to read
``First_Last@My.Domain'' or ``Different_Name@My.Domain''?
* 3.3 But what about fully-qualified addresses, such as those from
Pine or FEATURE(always_add_domain)?
* 3.4 So what was the user database feature intended for?
* 3.5 Why the hostility toward using full names for email addresses?
* 3.6 (deprecated)
* 3.7 How do I manage several (virtual) domains?
* 3.8 There are four UUCP mailers listed in the configuration files.
Which one should I use?
* 3.9 (deprecated)
* 3.10 How do I solve "collect: I/O error on connection" or "reply:
read error from host.name" errors?
* 3.11 Why can't my users forward their mail to a program?
* 3.12 Why do connections to the SMTP port take such a long time?
* 3.13 Why do I get "unknown mailer error 5 -- mail: options MUST
PRECEDE recipients" errors?
* 3.14 Why does version 8 sendmail panic my SunOS box?
* 3.15 Why does the Unix From line get mysteriously munged when I
send to an alias?
* 3.16 Why doesn't MASQUERADE_AS (or the user database) work for
envelope addresses as well as header addresses?
* 3.17 How do I run version 8 sendmail and support the MAIL11V3
protocol?
* 3.18 Why do messages disappear from my queue unsent?
* 3.19 When is sendmail going to support RFC 2047 MIME header
encoding?
* 3.20 Why can't I get mail to some places, but instead always get
the error "reply: read error from name.of.remote.host"?
* 3.21 Why doesn't "FEATURE(xxx)" work?
* 3.22 How do I configure sendmail not to use DNS?
* 3.23 How do I get all my queued mail delivered to my Unix box from
my ISP?
* 3.24 Why do I get the error message unable to write
/etc/mail/sendmail.pid on Solaris 2.x?
* 3.25 Why can't I compile sendmail with Berkeley DB 2.X?
* 3.26 What operating systems has Berkeley sendmail been ported to?
* 3.27 How do I prevent Relaying Denied errors for my clients?
* 3.28 Why isn't virtual hosting working, even after I added a
Kvirtuser line to sendmail.cf ?
* 3.29 How can I add a header specifying the actual recipient when
having multiple users in a virtual domain go to a single mailbox?
* 3.30 What do I do when Build fails because groff was not found?
* 3.31 What does "class hash not available" mean?
* 3.32 How do I configure majordomo with sendmail 8.9 without
relaxing the DontBlameSendmail option?
* 3.33 How do I configure my system in general with sendmail 8.9?
* 3.34 What does "foo not available for sendmail programs" mean?
* 3.35 How do I add a footer/signature to all (outgoing) e-mail
messages?
* 3.36 What does "Cannot open hash database ... Invalid argument"
mean?
* 3.37 What does "parse error before `NDBM'" mean?
* 3.38 What does "may be forged" mean?
* 3.39 How do I send using an alternate port?
* 3.40 Why can't I use BerkeleyDB 4.1.x?
* 3.41 How do I use CIDR notation in the access map (or other
places)?
* 3.42 Why isn't CIDR notation directly supported by sendmail?
* 3.43 What does "Need to recompile with -DNEWDB for hash support"
mean?
* 3.44 I disabled sendmail on some machines which don't receive
mail, but since upgrading to 8.12 they can't send mail either;
why?
_________________________________________________________________
Q3.1 -- How do I make all my addresses appear to be from a single host?
This question is answered in detail at the configuration Masquerading
and Relaying page.
_________________________________________________________________
Q3.2 -- How do I rewrite my From: lines to read ``First_Last@My.Domain''' or
``Different_Name@My.Domain''?
Date: September 23, 1997
Updated: November 8, 1999
Use the generics table, as described in steps 6 and 7 of the Virtual
Hosting page.
_________________________________________________________________
Q3.3 -- But what about fully-qualified addresses, such as those from Pine or
FEATURE(always_add_domain)?
Date: July 19, 1996
Updated: November 8, 1999
Updated: January 25, 2000
Note: this question used to be "How do I get the user database to work
with Pine or with FEATURE(always_add_domain)?" But the user database
is no longer the recommended solution for this problem, so the
question has been clarified appropriately.
The proper solution is to use the generics table, as described in
steps 6 and 7 of the Virtual Hosting page. The important thing to note
is that the host/domain part of the fully-qualified address must be
specified via GENERICS_DOMAIN() or GENERICS_DOMAIN_FILE().
_________________________________________________________________
Q3.4 -- So what was the user database feature intended for?
Date: May 12, 1997
The intent was to have all information for a given user (where the
user is the unique login name, not an inherently non-unique full name)
in one place. This would include phone numbers, addresses, and so
forth. The "maildrop" feature is because Berkeley does not use a
centralized mail server (there are a number of reasons for this that
are mostly historic), and so we need to know where each user gets his
or her mail delivered -- i.e., the mail drop.
UC Berkeley is (was) in the process of setting up their environment so
that mail sent to an unqualified "name" goes to that person's
preferred maildrop; mail sent to "name@host" goes to that host. The
purpose of "FEATURE(notsticky)" is to cause "name@host" to be looked
up in the user database for delivery to the maildrop.
_________________________________________________________________
Q3.5 -- Why the hostility toward using full names for email addresses?
Date: May 12, 1997
Updated: April 7, 2004
Because full names are not unique. For example, the computer community
has two Peter Deutsches. At one time, Bell Labs had two Stephen R.
Bournes with offices a few doors apart. You can create alternative
addresses (e.g., Stephen_R_Bourne_2), but that's even worse -- which
one of them has to have their name desecrated in this way? And you can
bet that one of them will get most of the other person's email.
Moreover, at institutions with high turnover (such as universities), a
given name may refer to different people at different times, which can
again lead to mail going to the wrong person.
So called "full names" are just an attempt to create longer versions
of unique names. Rather that lulling people into a sense of security,
I'd rather that it be clear that these handles are arbitrary. People
should use good user agents that have alias mappings so that they can
attach arbitrary names for their personal use to those with whom they
correspond (such as the MH alias file).
The problem is even worse outside of America, where non-ASCII
characters (e.g., characters with umlauts or the Norwegian Ø) are used
in names. Since non-ASCII characters cannot be used in the SMTP
envelope or e-mail headers, the full names are mangled anyway.
Even worse is fuzzy matching in email -- this can make good addresses
turn bad. For example, Eric Allman is currently (to the best of our
knowledge) the only ``Allman'' at Berkeley, so mail sent to
<Allman@Berkeley.EDU> should get to him. But if another Allman ever
appears, this address could suddenly become ambiguous. He's been the
only Allman at Berkeley for over fifteen years -- to suddenly have
this "good address" bounce mail because it is ambiguous would be a
heinous wrong.
Directory services should be as fuzzy as possible (within reason, of
course). Mail services should be unique.
_________________________________________________________________
Q3.6 -- has been deprecated.
_________________________________________________________________
Q3.7 -- How do I manage several (virtual) domains?
This question is answered in detail at the Virtual Hosting page.
_________________________________________________________________
Q3.8 -- There are four UUCP mailers listed in the configuration files. Which
one should I use?
This question is answered in detail at the configuration Using UUCP
Mailers page.
_________________________________________________________________
Q3.9 -- has been deprecated.
_________________________________________________________________
Q3.10 -- How do I solve "collect: I/O error on connection" or "reply: read
error from host.name" errors?
Date: April 8, 1997
Updated: May 9, 2000
Updated: June 8, 2002
Updated: March 2, 2003
If you are just getting occasional such messages, they're probably due
to a temporary network problem, or the remote host crashing or
otherwise abruptly terminating the connection. If you are getting a
lot of these from a single host, there is probably some
incompatibility between 8.x and that host (see Q3.12 and Q3.20). If
you get a lot of them in general, you may have network problems that
are causing connections to get reset.
Note that this problem is sometimes caused by incompatible values of
the MTU (Maximum Transmission Unit) size on a SLIP or PPP connection.
Be sure that your MTU size is configured to be the same value as what
your ISP has configured for your connection. If you are still having
problems, then have your ISP configure your MTU size for 1500 (the
maximum value), and you configure your MTU size similarly.
Another possibility is that you have a router/firewall filtering out
all incoming ICMP messages, while your OS is doing "Path MTU
discovery" (e.g. modern TCP/IP stacks do this by default). Path MTU
discovery relies on certain ICMP messages being allowed through back
to the host originating the traffic - see our tip on Path MTU
Discovery and RFC 1191 for the details.
Lastly, here is part of a post from comp.mail.sendmail about a SCO
7.1.0 specific bug which may produce similar problems.
Subject: Re: Recipient mail server times out sendmail connection
Date: 5 Jun 2002 21:37:02 -0700
From: maillist@screamingplants.com (ike)
I ran a packet sniffer on mail traffic that was causing problems
and found that the tcp checksums for large packets were all off by
14. I found out later that there is a network bug in the OS (SCO
7.1.0). After applying a few patches, the problem appears to have
been resolved.
_________________________________________________________________
Q3.11 -- Why can't my users forward their mail to a program?
Date: July 9, 1996
Updated: November 19, 1999
I just upgraded to version 8 sendmail and now when my users try to
forward their mail to a program they get an "illegal shell" or "cannot
mail to programs" message and their mail is not delivered. What's
wrong?
In order for people to be able to run a program from their .forward
file, version 8 sendmail insists that their shell (that is, the shell
listed for that user in the passwd entry) be a "valid" shell, meaning
a shell listed in /etc/shells. If /etc/shells does not exist, a
default list is used, typically consisting of /bin/sh and /bin/csh.
This is to support environments that may have NFS-shared directories
mounted on machines on which users do not have login permission. For
example, many people make their file server inaccessible for
performance or security reasons; although users have directories,
their shell on the server is /usr/local/etc/nologin or some such. If
you allowed them to run programs anyway you might as well let them log
in.
If you are willing to let users run programs from their .forward file
even though they cannot telnet or rsh in (as might be reasonable if
you run smrsh to control the list of programs they can run) then add
the line:
/SENDMAIL/ANY/SHELL/
to /etc/shells. This must be typed exactly as indicated, in caps, with
the trailing slash.
NOTA BENE: DO NOT list /usr/local/etc/nologin in /etc/shells -- this
will open up other security problems.
IBM AIX does not use /etc/shells -- a list of allowable login shells
is contained, along with many other login parameters, in
/etc/security/login.cfg. You can copy the information in the "shells="
stanza into a /etc/shells on your system so sendmail will have
something to use. Do NOT add "/usr/lib/uucp/uucico" or any other
non-login shell into /etc/shells.
Also note that there are some weird things that AFS throws into the
mix, and these can keep a program from running or running correctly
out of .forward files or the system-wide aliases.
See also "smrsh" in Q2.13 and Q3.34, and "directory permissions" in
Q3.33.
_________________________________________________________________
Q3.12 -- Why do connections to the SMTP port take such a long time?
Date: November 24, 1996
Updated: August 29, 2001
I just upgraded to version 8 sendmail and suddenly connections to the
SMTP port take a long time. What is going wrong?
It's probably something weird in your TCP implementation that makes
the IDENT code act oddly. On most systems version 8 sendmail tries to
do a ``callback'' to the connecting host to get a validated user name
(see RFC 1413 for detail). If the connecting host does not support
such a service it will normally fail quickly with "Connection
refused", but certain kinds of packet filters and certain TCP
implementations just time out.
To test this (pre-8.7.y sendmail), set the IDENT timeout to zero
using:
define(`confREAD_TIMEOUT',`Ident=0')dnl
in the .mc file used by m4 to generate your sendmail.cf file.
Alternatively, if you don't use m4, you can put ``OrIdent=0'' in the
configuration file (we recommend the m4 solution, since that makes
maintenance much easier for people who don't understand sendmail
re-write rules, or after you've been away from it for a while). Either
way, this will completely disable all use of the IDENT protocol.
For version 8.7.y sendmail (and above), you should instead use:
define(`confTO_IDENT',`0s')dnl
Another possible problem is that you have your name server and/or
resolver configured improperly. Make sure that all "nameserver"
entries in /etc/resolv.conf point to functional servers. If you are
running your own server, make certain that all the servers listed in
your root cache are up to date (this file is usually called something
like "/var/namedb/root.cache"; see your /etc/named.boot file to get
your value). Either of these can cause long delays.
You may also wish to check out our tips on how to set up DNS for your
private address space.
_________________________________________________________________
Q3.13 -- Why do I get "unknown mailer error 5 -- mail: options MUST PRECEDE
recipients" errors?
Date: March 23, 1996
I just upgraded to version 8 sendmail and suddenly I get errors such
as ``unknown mailer error 5 -- mail: options MUST PRECEDE
recipients.'' What is going wrong?
You need OSTYPE(systype) in your .mc file, where "systype" is set
correctly for your hardware & OS combination -- otherwise the
configurations use a default that probably disagrees with your local
mail system. See the configuration OSTYPE page for details.
If this is on a Sun workstation, you might also want to take a look at
the local mailer flags in the Sun-supplied sendmail.cf and compare
them to the local mailer flags generated for your version 8
sendmail.cf. If they differ, you might try changing the V8 flags to
match the Sun flags.
_________________________________________________________________
Q3.14 -- Why does version 8 sendmail panic my SunOS box?
Date: March 24, 1996
Updated: November 4, 1997
Sendmail 8.7.y panics SunOS 4.1.3_U1 (at least for 1 <= y <= 3) and
SunOS 4.1.3, and sendmail 8.6.x seems fine on both machines (at least
for 9 <= x <= 12).
The problem is that a kernel patch is missing, specifically 100584-08
(4.1.3), 102010-05 (4.1.3_U1), or 102517 (4.1.4). This should be
available from your hardware vendor through your support contract or
their online support facilities (including being available on the
SunSolve CD).
_________________________________________________________________
Q3.15 -- Why does the Unix From line get mysteriously munged when I send to an
alias?
Date: December 3, 1997
``It's not a bug, it's a feature.'' This happens when you have an
owner-list alias and you send to list. V8 propagates the owner
information into the SMTP envelope sender field (which appears as the
Unix From line [sometimes incorrectly referred to as the From-space
"header"] on Unix mail or as the Return-Path: header) so that
downstream errors are properly returned to the mailing list owner
instead of to the sender. In order to make this appear as sensible as
possible to end users, I recommend making the owner point to a
"request" address -- for example:
list: :include:/path/name/list.list
owner-list: list-request
list-request: eric
This will make message sent to list come out as being "From
list-request" instead of "From eric".
_________________________________________________________________
Q3.16 -- Why doesn't MASQUERADE_AS (or the user database) work for envelope
addresses as well as header addresses?
Date: November 24, 1996
Believe it or not, this is intentional. The interpretation of the
standards by the version 8 sendmail development group was that this
was an inappropriate rewriting, and that if the rewriting were
incorrect at least the envelope would contain a valid return address.
If you're using version 8.7.y sendmail (or later), you can use
FEATURE(masquerade_envelope)
in your sendmail.mc file to change this behavior. This is discussed in
greater detail at the configuration Masquerading and Relaying page.
_________________________________________________________________
Q3.17 -- How do I run version 8 sendmail and support the MAIL11V3 protocol?
Date: March 23, 1996
URL updated: November 15, 2002
Get the reimplementation of the mail11 protocol by Keith Moore from
ftp://gatekeeper.dec.com/pub/misc/vixie/ (with contributions from Paul
Vixie).
_________________________________________________________________
Q3.18 -- Why do messages disappear from my queue unsent?
Date: March 23, 1996
When I look in the queue directory I see that qf* files have been
renamed to Qf*, and sendmail doesn't see these. What's wrong?
If you look closely you should find that the Qf files are owned by
users other than root. Since sendmail runs as root it refuses to
believe information in non-root-owned qf files, and it renames them to
Qf to get them out of the way and make it easy for you to find. The
usual cause of this is twofold: first, you have the queue directory
world writable (which is probably a mistake -- this opens up other
security problems) and someone is calling sendmail with an "unsafe"
flag, usually a -o flag that sets an option that could compromise
security. When sendmail sees this it gives up setuid root permissions.
The usual solution is to not use the problematic flags. If you must
use them, you have to write a special queue directory and have them
processed by the same uid that submitted the job in the first place.
_________________________________________________________________
Q3.19 -- When is sendmail going to support RFC 2047 MIME header encoding?
Date: March 23, 1996
Updated: September 5, 1999
This is considered to be a MUA issue rather than an MTA issue.
Quoth Eric Allman:
The primary reason is that the information necessary to do the
encoding (that is, 8->7 bit) is unknown to the MTA. In specific,
the character set used to encode names in headers is _NOT_
necessarily the same as used to encode the body (which is already
encoded in MIME in the charset parameter of the Content-Type:
header). Furthermore, it is perfectly reasonable for, say, a Swede
to be living and working in Korea, or a Russian living and working
in Germany, and want their name to be encoded in their native
character set; it could even be that the sender was Japanese, the
recipient Russian, and the body encoded in ISO 8859-1. If all I
have are 8-bit characters, I can't choose the charset properly.
Similarly, when doing 7->8 bit conversions, I don't want to throw
away this information, as it is necessary for proper presentation
to the end user.
_________________________________________________________________
Q3.20 -- Why can't I get mail to some places, but instead always get the error
"reply: read error from name.of.remote.host"?
Date: January 17, 1997
This is usually caused by a bug in the remote host's mail server, or
Mail Transport Agent (MTA). The "EHLO" command of ESMTP causes the
remote server to drop the SMTP connection. There are several MTAs that
have this problem, but one of the most common server implementations
can be identified by the "220 All set, fire away" greeting it gives
when you telnet to its SMTP port.
To work around this problem, you can configure sendmail to use a
mailertable with an entry telling sendmail to use plain SMTP when
talking to that host:
name.of.remote.host smtp:name.of.remote.host
Sites which must run a host with this broken SMTP implementation
should do so by having a site running sendmail or some other reliable
(and reasonably modern) SMTP MTA act as an MX server for the problem
host.
There is also a problem wherein some TCP/IP implementations are
broken, and if any connection attempt to a remote end gets a
"connection refused", then *all* connections to that site will get
closed. Of course, if you try to use the IDENT protocol across a
firewall (at either end), this is highly likely to result in the same
apparent kind of "read error".
The fix is simple -- on those machines with broken TCP/IP
implementations, do not attempt to use IDENT. When compiling newer
releases of version 8 sendmail, the compiler should automatically
detect whether you're on a machine that is known to have this kind of
TCP/IP networking problem, and make sure that sendmail does not
attempt to use IDENT. If you've since patched your machine so that it
no longer has this problem, you'll need to go back in and explicitly
configure sendmail for support of IDENT, if you want that feature.
_________________________________________________________________
Q3.21 -- Why doesn't "FEATURE(xxx)" work?
Date: January 17, 1996
When creating m4 Master Config (".mc") files for version 8 sendmail,
many FEATURE() macros simply change the definition of internal
variables that are referenced in the MAILER() definitions.
To make sure that everything works as desired, you need to make sure
that OSTYPE() macros are put at the very beginning of the file,
followed by FEATURE() and HACK() macros, local definitions, and at the
very bottom, the MAILER() definitions. See the configuration
Introduction and Example page for more details.
_________________________________________________________________
Q3.22 -- How do I configure sendmail not to use DNS?
Date: March 24, 1997
Updated: April 6, 2000
Updated: June 4, 2002
Updated: January 14, 2004
In situations where you're behind a firewall, or across a dial-up
line, there are times when you need to make sure that programs (such
as sendmail) do not use the DNS at all.
With older releases of version 8 sendmail (8.7 and earlier), you
needed to recompile the binary and make sure that "NAMED_BIND" was
turned off in src/conf.h.
With versions 8.8 and later, you change the service switch file to
omit "DNS" and use only NIS, files, and other map types as
appropriate. More information about the service switch file can be
found under the ServiceSwitchFile option in §5.6 (Options) of the
Installation and Operation Guide and all of §4.9 (Name Server Access).
And note that you'll need to forward all your outbound mail to another
machine as a "relay" (one that does use DNS, and understands how to
properly use MX records, etc...), otherwise you won't be able to get
mail to any site(s) other than the one(s) you configure in your
/etc/hosts file (or whatever). The use of a smart host is one way to
do this; the following in your .mc will do:
define(`SMART_HOST', `name.of.smart.host')dnl
Also, starting with 8.9, it may help to include the following in your
.mc file:
FEATURE(`accept_unresolvable_domains')dnl
FEATURE(`accept_unqualified_senders')dnl
And starting with 8.12, changes to submit.cf are required as well; the
following in your submit.mc can minimize the problem:
define(`confDIRECT_SUBMISSION_MODIFIERS', `C')dnl
_________________________________________________________________
Q3.23 -- How do I get all my queued mail delivered to my Unix box from my ISP?
Date: June 6, 1997
Updated: October 8, 1998
In the contrib directory of the sendmail distribution is a Perl script
called etrn.pl. Assuming you're running sendmail or some other SMTP
MTA on some sort of a Unix host, and your ISP uses version 8.8
sendmail and they queue all mail for your domain (as opposed to
stuffing it all in one file that you need to download via POP3 or some
such), the command
etrn.pl mail.myisp.com mydomain.com
will do the trick. You can learn about Perl at the Perl Language Home
Page. The O'Reilly book is also very helpful.
If you don't have Perl, something like the following script should do
the trick:
#!/bin/sh
telnet mail.myisp.com. 25 << __EOF__
EHLO me.mydomain.com
ETRN mydomain.com
QUIT
__EOF__
Note that this is indented for readability, and the real script would
have column position #1 of the file be the first printable character
in each line.
Of course, you'll have to fill in the appropriate details for
"mail.myisp.com", "mydomain.com", etc....
If your ISP doesn't use version 8.8 sendmail, you may have to cobble
together alternative solutions. They may have a "ppplogin" script that
is executed every time your machines dials them up, and if so, you may
be able to have them modified this script so as to put a "sendmail
-qRmydomain.com" in it (which is effectively what the "ETRN" command
does, but in a safer fashion).
Alternatively, they may have a hacked finger daemon, so that you'd put
"finger mydomain.com@theirhost.theirdomain.com" in your script. Or,
they may have some other solution for you. However, only they would be
able to answer what solutions they have available to them.
Obviously, the easiest and most "standard" solution is to have them
upgrade their system to the most recent stable release of version 8
sendmail. See Q2.8 to find out what exact version this is.
_________________________________________________________________
Q3.24 -- Why do I get the error message unable to write /etc/mail/sendmail.pid?
Date: August 6, 1997
sendmail checks if it has write access to the directory in which it
wants to create a file without granting special privileges to 'root'.
To have sendmail run properly, the directories /etc, /etc/mail, and/or
/var/run should be owned by root and be writable by its owner.
_________________________________________________________________
Q3.25 -- Why can't I compile sendmail with Berkeley DB 2.X?
Date: August 12, 1997
Updated: May 20, 1998
sendmail 8.8 only supports Berkeley DB 1.85. It will not work with
newer Berkeley DB versions, even in compatibility mode
Sendmail 8.9, however, does include support for Berkeley DB 2.X,
starting with 2.3.16 .
_________________________________________________________________
Q3.26 -- What operating systems has Berkeley sendmail been ported to?
Date: December 18, 1997
Updated: September 9, 1999
Berkeley sendmail 8.9.3 supports most known flavors of UNIX,
including:
386BSD A-UX AIX Altos
BSD-OS BSD43 CLIX CSOS
ConvexOS Dell DomainOS Dynix
EWS-UX_V FreeBSD HP-UX IRIX
ISC KSR LUNA Linux
Mach386 NCR.MP-RAS NEWS-OS NeXT
NetBSD NonStop-UX OSF1 OpenBSD
PTX Paragon PowerUX RISCos
SCO SINIX SMP_DC.OSx.NILE Solaris
SVR4 SunOS Titan ULTRIX
UMAX UNICOS UNIX_SV.4.x.i386
UX4800 UXPDS Utah dgux
maxion uts.systemV
Also, a Windows NT version is available from Sendmail, Inc..
_________________________________________________________________
Q3.27 -- How do I prevent Relaying Denied errors for my clients?
Date: April 12, 1998
Last updated: June 19, 2000
You need to add the fully-qualified host name and/or IP address of
each client to class R, the set of relay-allowed domains. For version
8.8.X, this is typically defined by the file /etc/sendmail.cR ; for
8.9.X, it is typically /etc/mail/relay-domains . Note: if your DNS is
problematic, you should list the IP address (e.g., 1.2.3.4); in
general, however, this should not be necessary.
Once you've updated the appropriate file, SIGHUP your sendmail daemon
and you should be OK.
Further details are available on our Allowing controlled SMTP relaying
in Sendmail 8.9 page.
_________________________________________________________________
Q3.28 -- Why isn't virtual hosting working, even after I added a Kvirtuser line
to sendmail.cf?
Date: April 12, 1998
Just adding the proper Kvirtuser line to sendmail.cf is not enough to
enable the virtual user table feature, a key ingredient for virtual
hosting. You need to use the m4 technique FEATURE(virtusertable);
detailed instructions are provided at our Virtual Hosting with
Sendmail page.
_________________________________________________________________
Q3.29 -- How can I add a header specifying the actual recipient when having
multiple users in a virtual domain go to a single mailbox?
Date: July 2, 1998
Updated: June 21, 2002
Fixed typo: October 10, 2003
Updated URL: April 6, 2004
Stuffing multiple user's mail into a single mail box is not a good
method of distributing user mail but if you must do this, the
following solution should allow a tool like fetchmail to separate the
messages for individual users.
1. Use FEATURE(local_procmail) in your .mc file so procmail (which
you must install separately) will deliver mail to the mailbox.
2. Use FEATURE(virtusertable) to create a virtual user table entry
for the domain as follows:
@domain.com domuser+%1
where domuser is the username of the mailbox you will be using.
Note that "domuser" must be an actual username, *not* an alias.
It may be necessary to append "@localhost", as follows
@domain.com domuser+%1@localhost
3. Put this in the respective domuser's $HOME/.procmailrc:
DOMAIN=domain.com
ENV_TO=$1
:0f
* ENV_TO ?? .
| formail -i "X-Envelope-To: $ENV_TO@$DOMAIN"
:0fE
| formail -i "X-Envelope-To: UNKNOWN"
This will insert an X-Envelope-To header with the original
envelope recipient address when the message is delivered the
normal way via the virtusertable, and UNKNOWN if for some reason
it was sent directly to domuser.
You may be tempted to eliminate variable ENV_TO and use $1
directly. It won't work, so don't bother.
FEATURE(local_procmail) causes sendmail to deliver email to
procmail directly. A .forward file is not only unnecessary, it
would prevent procmail from setting $1 with the necessary text, so
don't use one.
You may need to replace formail with /usr/local/bin/formail or
some such, depending on whether procmail can find it or not.
Another possible solution from Andrzej Filip.
_________________________________________________________________
Q3.30 -- What do I do when Build fails because groff was not found?
Date: September 24, 1998
You can get groff from ftp://ftp.gnu.org/pub/gnu/. But it's not a big
deal, because:
1. You've already successfully built the sendmail binary to get this
far.
2. You can just use the preformatted man pages anyway:
% cp *.0 obj*
_________________________________________________________________
Q3.31 -- What does "class hash not available" mean?
Date: September 24, 1998
You've built sendmail and/or makemap without NEWDB specified in your
DBMDEF configuration, but you specified the class hash in sendmail.cf
or on a makemap command. The class hash requires NEWDB support, for
which you need the Berkeley database. Please refer to the Database
Definitions section of our Compiling Sendmail web page.
_________________________________________________________________
Q3.32 -- How do I configure majordomo with sendmail 8.9 without relaxing the
DontBlameSendmail option?
Date: January 26, 1999
Updated: October 30, 2001
We have had some queries about this, as majordomo apparently suggests
some configuration values which sendmail 8.9 does not like. Here is
what one expert suggests:
The sendmail.cf contains:
O AliasFile=/etc/aliases, /etc/majordomo.aliases
O DontBlameSendmail=Safe
/etc/aliases contains the general majordomo aliases:
# Majordomo
majordomo: "|/usr/local/lib/majordomo/wrapper majordomo"
owner-majordomo: postmaster
majordomo-owner: postmaster
/etc/majordomo.aliases contains the majordomo lists of the form:
wookie: "|/usr/local/lib/majordomo/wrapper resend -l wookie wookie-list"
wookie-list: :include:/usr/local/lib/majordomo/lists/wookie
owner-wookie: head-wookie
wookie-approval: owner-wookie
wookie-request: "|/usr/local/lib/majordomo/wrapper majordomo -l wookie"
The various directory owners/groups/permissions:
drwxr-xr-x 20 root root 1024 Dec 1 15:20 /
drwxr-xr-x 25 root root 3072 Jan 26 01:26 /etc
drwxr-xr-x 20 root root 1024 Feb 4 1998 /usr
drwxr-xr-x 18 root root 1024 Jan 16 18:40 /usr/local
drwxr-xr-x 5 root root 1024 Feb 6 1996 /usr/local/lib
lrwxrwxrwx 1 root root 16 Dec 1 10:01 /usr/local/lib/majordomo
-> majordomo-1.94.4
drwxr-x--x 5 majordom majordom 1024 Jan 25 23:12 /usr/local/lib/majordomo
-1.94.4
drwxr-xr-x 2 majordom majordom 32768 Jan 26 00:49 /usr/local/lib/majordomo
-1.94.4/lists
-rw-rw-r-- 1 majordom majordom 655 Nov 3 17:03 /usr/local/lib/majordomo
-1.94.4/lists/wookie
-rw-rw---- 1 majordom majordom 14588 Jan 19 10:28 /usr/local/lib/majordomo
-1.94.4/lists/wookie.config
-rw-rw-r-- 1 majordom majordom 23 Jan 14 1997 /usr/local/lib/majordomo
-1.94.4/lists/wookie.info
Now the differences that make this work that may not be the same as
instructed by the majordomo instructions:
1. Put the majordomo.aliases file in /etc, not in the majordomo
install directory (/usr/local/lib/majordomo). If you can't move
the aliases file out of the majordomo directory, you'll need to
create the database backing file by hand the first time as root:
# touch /usr/local/lib/majordomo/aliases
# newaliases -OAliasFile=/usr/local/lib/majordomo/aliases
2. Make the permissions on /usr/local/lib/majordomo 0751, not 0775.
3. Make the permissions on /usr/local/lib/majordomo/Log 0664, owned
by majordom, group majordom.
4. /usr/local/lib/majordomo/lists is mode 0755, owner majordom, group
majordom.
5. The permissions/owners for the lists should be as shown above.
These permissions/ownership allow majordom to continue to manage
the lists.
_________________________________________________________________
Q3.33 -- How do I configure my system in general with sendmail 8.9?
Date: May 24, 1999
The following is taken directly from the DIRECTORY PERMISSIONS section
of the top-level README file in the sendmail distribution.
Sendmail often gets blamed for many problems that are actually the
result of other problems, such as overly permissive modes on
directories. For this reason, sendmail checks the modes on system
directories and files to determine if can have been trusted. For
sendmail to run without complaining, you MUST execute the following
command:
chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
You will probably have to tweak this for your environment (for
example, some systems put the spool directory into /usr/spool instead
of /var/spool and use /etc/mail for aliases file instead of /etc). If
you set the RunAsUser option in your sendmail.cf, the
/var/spool/mqueue directory will have to be owned by the RunAsUser
user. As a general rule, after you have compiled sendmail, run the
command
sendmail -v -bi
to initialize the alias database. If it gives messages such as
WARNING: writable directory /etc
WARNING: writable directory /usr/spool/mqueue
then the directories listed have inappropriate write permissions and
should be secured to avoid various possible security attacks.
Beginning with sendmail 8.9, these checks have become more strict to
prevent users from being able to access files they would normally not
be able to read. In particular, .forward and :include: files in unsafe
directory paths (directory paths which are group or world writable)
will no longer be allowed. This would mean that if user joe's home
directory was writable by group staff, sendmail would not use his
.forward file. This behavior can be altered, at the expense of system
security, by setting the DontBlameSendmail option. For example, to
allow .forward files in group writable directories:
O DontBlameSendmail=forwardfileingroupwritabledirpath
Or to allow them in both group and world writable directories:
O DontBlameSendmail=forwardfileinunsafedirpath
Items from these unsafe .forward and :include: files will be marked as
unsafe addresses -- the items can not be deliveries to files or
programs. This behavior can also be altered via DontBlameSendmail:
O DontBlameSendmail=forwardfileinunsafedirpath,
forwardfileinunsafedirpathsafe
The first flag allows the .forward file to be read, the second allows
the items in the file to be marked as safe for file and program
delivery.
Other files affected by this strengthened security include class files
(i.e. Fw /etc/sendmail.cw), persistent host status files, and the
files specified by the ErrorHeader and HelpFile options. Similar
DontBlameSendmail flags are available for the class, ErrorHeader, and
HelpFile files.
If you have an unsafe configuration of .forward and :include: files,
you can make it safe by finding all such files, and doing a "chmod
go-w $FILE" on each. Also, do a "chmod go-w $DIR" for each directory
in the file's path.
_________________________________________________________________
Q3.34 -- What does "foo not available for sendmail programs" mean?
Date: September 24, 1999
It means that you are using smrsh, the sendmail restricted shell; see
Q2.13 for details on this. To fix this problem, you need to create a
sym-link from smrsh's directory for restricted programs to the program
foo. The default location of this directory for restricted programs is
/usr/adm/sm.bin in the Open Source version, but vendor versions
differ. For example, RedHat Linux 6.0 uses /etc/smrsh, and Solaris 8
uses /var/adm/sm.bin . If you don't know the directory for your OS,
first check the smrsh man page, then if that fails, try:
% strings /path/to/smrsh | grep ^/
where /path/to/smrsh is the P= argument on the Mprog line in
sendmail.cf .
So for example:
% cd /usr/adm/sm.bin
% ln -s /usr/bin/vacation
would allow the vacation program to be run from a user's .forward file
or an alias which uses the "|program" syntax.
Finally, if you want to disable use of smrsh, remove the
FEATURE(`smrsh') line from the .mc file used to build sendmail.cf; see
cf/README for details on this.
_________________________________________________________________
Q3.35 -- How do I add a footer/signature to all (outgoing) e-mail messages?
Date: October 9, 2000
Updated: August 1, 2001
Updated: May 16, 2002
Updated: February 22, 2003
This is quite complicated. At first sight it might be simple: just
"cat" some text (taken from a file or whatever) to the end of an
e-mail message passing through sendmail. However, there is a big
problem: what about structured e-mail messages, i.e., MIME messages?
These can be arbitrarily complex and just "cat"ting a footer to the
end of the body can break the MIME structure. (A MIME aware MUA will
just not show such a footer, so it's pretty useless in any case.) But
signed messages (think: PGP) will break. Another problem is the
character set used by the mime part to which the disclaimer is added
needs to match the actual character set of the disclaimer itself.
Hence, there is no easy solution to this problem!
If you know enough about MIME and some C programming, then take a look
at sendmail 8.11 (or later) and libmilter/README. It now offers the
functionality to achieve this goal.
Some open source milters are capable of adding footers, e.g.
MIMEDefang.
_________________________________________________________________
Q3.36 -- What does "Cannot open hash database ... Invalid argument" mean?
Date: January 3, 2001
Updated: February 8, 2001
It's an error returned from the Berkeley DB library. It normally means
that the db file was built with a different version of Berkeley DB
than the one sendmail is currently using. You need to recompile
makemap with the same version of Berkeley DB that sendmail was
compiled with, and re-make your maps with that new version of makemap.
From a typical Unix 'errno' man page:
22 EINVAL Invalid argument. Some invalid argument was supplied.
From the Berkeley DB 2.x 'db_open' man page (1.x 'dbopen' is similar):
EINVAL
...
There is a mismatch between the version number of file and the
software.
Berkeley DB 3.x uses a special errno value for this - from its
'db_open' man page:
DB_OLD_VERSION
The database cannot be opened without being first upgraded.
Unfortunately this isn't specifically handled by sendmail up to and
including 8.11.2, resulting in an error message that says something
like "Error -30990" instead of "Invalid argument".
Here is a table mapping versions of Berkeley DB with the corresponding
sendmail versions in which they are supported:
Berkeley DB Sendmail
0.X - 1.4 (OLD_NEWDB) 8.1 - 8.8.8
1.5 and later 1.X 8.1 and later
2.0.0-2.6.3 8.9.0 and later
2.6.4 and later 2.X 8.9.2 and later
3.0 and later 3.X 8.10.0 and later
_________________________________________________________________
Q3.37 -- What does "parse error before `NDBM'" mean?
Date: April 21, 2001
This error is generally accompanied by a message indicating which file
it occurred in, and which line number of that file, usually:
ERROR NDBM or NEWDB must be defined.
You are supposed to read that line, and do something about it.
Normally, on Linux and the various BSDs, NEWDB is used, whereas on the
"commercial" Unix variants (Solaris, HP-UX, possibly others), NDBM is
used. Perhaps you failed to install the required libraries when you
installed your system.
Please refer to 3.31 and the Database Definitions section of our
Compiling Sendmail web page for further details.
_________________________________________________________________
Q3.38 -- What does "may be forged" mean?
Date: November 12, 2001
After sendmail does a hostname look-up on the IP address of the
connecting client, the IP addresses of that hostname are looked up. If
the client IP address does not appear in that list, then the may be
forged tag is added.
_________________________________________________________________
Q3.39 -- How do I send using an alternate port?
Date: May 5, 2002
Updated: January 10, 2004
The port used for outgoing SMTP connections can be changed via the
respective *_MAILER_ARGS macros for the various SMTP mailers. In a
default configuration, sendmail uses either the relay mailer (for e.g.
SMART_HOST when no mailer is specified) or the esmtp mailer (when
sending directly to the MX of the recipient domain).
So, if you want all outgoing SMTP connections to use port 2525, you
can use this in your .mc file:
define(`RELAY_MAILER_ARGS', `TCP $h 2525')
define(`ESMTP_MAILER_ARGS', `TCP $h 2525')
If you want to use an alternate port only for specific destinations,
change (e.g.) only the RELAY_MAILER_ARGS, and make sure the relay
mailer is not used for anything else. E.g. you can have sendmail use
port 2525 only when sending to your domain with this in your .mc file:
FEATURE(`mailertable')
define(`confRELAY_MAILER', `esmtp')
define(`RELAY_MAILER_ARGS', `TCP $h 2525')
and then in your mailertable:
yourdomain.com relay:mail.yourdomain.com
This will force sendmail to use port 2525 for connections to
yourdomain.com. Of course, change 2525 to whatever alternate port
number you wish to use.
_________________________________________________________________
Q3.40 -- Why can't I use BerkeleyDB 4.1.x?
Date: November 15, 2002
Updated: December 29, 2002
SleepyCat changed the API from Berkeley DB 4.0 to 4.1. Hence it is not
supported in sendmail 8.12.6. Moreover, the semantics of the open()
call have been changed, hence sendmail doesn't work with DB 4.1.x (x
<= 24), even if the "obvious" API changes are made.
However, with the release of Berkeley DB 4.1.25 and sendmail 8.12.7,
things should work again with these versions (or greater, when the
time comes).
_________________________________________________________________
Q3.41 -- How do I use CIDR notation in the access map (or other places)?
Date: December 3, 2002
Use contrib/cidrexpand to pre-process the data into a format that is
supported by sendmail. For example:
cidrexpand < access | makemap hash access
_________________________________________________________________
Q3.42 -- Why isn't CIDR notation directly supported by sendmail?
Date: December 3, 2002
Because it is in general very expensive to do this. Here's an
explanation from Per Hedeland:
And not just more complex, it would have to do many more
(comparatively expensive) lookups - there's no way, given (e.g.)
the IP address 66.205.192.123, to find the matching
"66.205.192.0/19" with a single lookup in a general key/value
hashed map. The code would have to look for "66.205.192.123",
"66.205.192.122/31", "66.205.192.120/30", "66.205.192.120/29", etc,
etc - 14 lookups to find a /19, 32 to establish a non-match.
which is 8 times more than the available octet boundary lookup.
I haven't done any measurements, but I wouldn't be surprised if
even in the absolute worst case, that your map is 128 times bigger
than it "needs" to be, the time for a single lookup won't even
double - i.e. you'll lose already on the second lookup.
_________________________________________________________________
Q3.43 -- What does "Need to recompile with -DNEWDB for hash support" mean?
Date: December 24, 2002
See Q3.31. This is the newer form of the same error message, updated
to be more informative and clueful. The actual line of code contains:
"%s: Need to recompile with -D%s for %s support\n"
where the first %s gets replaced by the name of the program (generally
makemap), the second %s gets replaced by the name of the macro which
needs to be defined (see the Database Definitions section of our
Compiling Sendmail web page for the full list), and the third %s gets
replaced by the argument to makemap which could not be handled.
_________________________________________________________________
Q3.44 -- I disabled sendmail on some machines which don't receive mail, but
since upgrading to 8.12 they can't send mail either; why?
Date: January 13, 2003
Updated: October 19, 2005
8.12 uses a new paradigm: the binary is no longer setuid-root; to make
this work, there are now two queues, a "main" queue and a client-only
queue. To match these, there are two config files: one for the main
queue (sendmail.cf) and one for the client-only queue (submit.cf).
There are also two sendmail processes which need to run: a daemon and
a client queue runner. In the default configuration of sendmail, the
client queue runner must be able to submit mail to the daemon on the
local SMTP port. If the daemon is not listening on the SMTP port, the
mail remains in the client-only queue. If you don't want to accept
mail from other machines, you should add some or all of the following
lines to your .mc file:
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`NAME=NoMTA4, Family=inet, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Name=MSA4, Family=inet, Addr=127.0.0.1, Port=587, M=E')dnl
DAEMON_OPTIONS(`NAME=NoMTA6, Family=inet6, Addr=::1')dnl
DAEMON_OPTIONS(`Name=MSA6, Family=inet6, Addr=::1, Port=587, M=E')dnl
Use the FEATURE line regardless, then if your machine has IPv4
addresses configured, use the first two DAEMON_OPTIONS lines;
likewise, use the second two DAEMON_OPTIONS lines if it has IPv6
addresses configured, and all four if both types of addresses are
configured. Then build a new .cf file from your .mc file, install it
as /etc/mail/sendmail.cf and start sendmail.
In some cases, however, it might be better instead to modify
submit.mc, to use
FEATURE(`msp', `smart_host')dnl
instead of the default
FEATURE(`msp', `[127.0.0.1]')dnl
This has the advantage that you don't have to run a daemon on the
local host, but a disadvantage of introducing a dependency on the
smart_host machine. Which of the two solutions is better for you
depends on whether or not your network architecture has such a
smart_host, how reliable you deem that smart_host to be, and how
inconvenient running a daemon locally would be.
sendmail.org
4. GENERAL SENDMAIL ISSUES
* 4.1 Should I use a wildcard MX for my domain?
* 4.2 How can I set up an auto-responder?
* 4.3 How can I get sendmail to deliver local mail to $HOME/.mail
instead of into /usr/spool/mail (or /usr/mail)?
* 4.4 Why does it deliver the mail interactively when I'm trying to
get it to go into queue only mode?
* 4.5 How can I solve "MX list for hostname points back to hostname"
and "config error: mail loops back to myself" messages?
* 4.6 Why does my sendmail process sometimes hang when connecting
over a SLIP/PPP link?
* 4.7 How can I summarize the statistics generated by sendmail in
the syslog?
* 4.8 How can I check my sendmail.cf to ensure that it's re-writing
addresses correctly?
* 4.9 What is procmail, and where can I get it?
* 4.10 How can I solve "cannot alias non-local names" errors?
* 4.11 Is sendmail Year-2000 (Y2K) compliant?
* 4.12 How can I batch remote mail to be sent using my ISP while
delivering local mail immediately?
* 4.13 What does "unknown mailer error 1" mean?
* 4.14 How do I queue mail for another domain?
* 4.15 How do create attachments with sendmail?
* 4.16 How do I find sendmail's version number?
* 4.17 How do I handle user names with upper-case characters?
* 4.18 What does "NOQUEUE: Null connection from ..." mean?
* 4.19 How do I configure sendmail for POP/IMAP/... ?
* 4.20 How can I automatically copy messages based on sender or
recipient addresses?
* 4.21 How can I send mail to all users?
* 4.22 Why can't I receive external mail?
* 4.23 How do restrict attachments with sendmail?
* 4.24 Can I get sendmail to verify an entire e-mail address instead
of just the domain?
_________________________________________________________________
Q4.1 -- Should I use a wildcard MX for my domain?
Date: July 9, 1996
Updated: November 5, 1997
If at all possible, no.
Wildcard MX records have lots of semantic "gotcha"s. For example, they
will match a host "unknown.your.domain" -- if you don't explicitly
test for unknown hosts in your domain, you will get "MX list for
hostname points back to hostname" or "config error: mail loops back to
myself".
See RFCs 1535, 1536, and 1912 (updates RFC 1537) for more detail and
other related (or common) problems. See also _DNS and BIND_ by Albitz
and Liu.
They can also cause your system to add your domain to outgoing FQDNs
in a desperate attempt to get the mail to where it's supposed to go,
but because *.your.domain is valid due to the wildcard MX, delivery to
not.real.domain.your.domain will get dumped on you, and you may even
find yourself in a loop as the domain keeps getting tacked on time
after time after time (the "config error: mail loops back to myself"
problem).
Wildcard MX records are just a bad idea, plain and simple. They don't
work the way you'd expect, and virtually no one gets them right. Avoid
them at all costs.
_________________________________________________________________
Q4.2 -- How can I set up an auto-responder?
Date: March 23, 1996
Updated: February 16, 1999
Updated: July 30, 2002
This is a local mailer issue, not a sendmail issue. Depending on what
you're doing, look at procmail (see Q4.9), ftpmail, Majordomo or of
course vacation, which is part of the sendmail (8.10.0 and later)
distribution.
The latest version of Majordomo can be found at
ftp://ftp.greatcircle.com/pub/majordomo/. It is written in Perl and
requires either Perl 4.036, and appears to run with only minor tweaks
under 5.001a or later. Make sure to check out the web interface for
Majordomo called LWGate at
http://www.netspace.org/users/dwb/lwgate.html. The latest versions of
Perl (both 4.x and 5.x) can be found in
http://www.metronet.com/perlinfo/src/. More information about Perl can
be found at http://www.metronet.com/perlinfo/perl5.html
The latest version of ftpmail can be found at
ftp://src.doc.ic.ac.uk/packages/ftpmail or any comp.sources.misc
archive (volume 37).
_________________________________________________________________
Subject: Q4.3 -- How can I get sendmail to deliver local mail to $HOME/.mail
instead of into /usr/spool/mail (or /usr/mail)?
Date: July 9, 1996
Updated: January 7, 1999
Again, this is a local mailer issue, not a sendmail issue. Either
modify your local mailer (source code will be required) or change the
program called in the "local" mailer configuration description to be a
new program that does this local delivery. One program that is capable
of doing this is procmail (see Q4.9), although there are probably many
others as well.
_________________________________________________________________
Subject: Q4.4 -- Why does it deliver the mail interactively when I'm trying to
get it to go into queue only mode?
Date: March 23, 1996
Updated: August 14, 2000
Or, I'm trying to use the "don't deliver to expensive mailer" flag,
and it delivers the mail interactively anyway. I can see it does it:
here's the output of "sendmail -v foo@somehost" (or Mail -v or
equivalent).
The -v flag to sendmail (which is implied by the -v flag to Mail and
other programs in that family) tells sendmail to watch the
transaction. Since you have explicitly asked to see what's going on,
it assumes that you do not want to to auto-queue, and turns that
feature off. Remove the -v flag and use a "tail -f" of the log instead
to see what's going on.
If you are trying to use the "don't deliver to expensive mailer" flag
(mailer flag "e"), be sure you also turn on global option
"HoldExpensive" (whose old one-character name was "c") -- otherwise it
ignores the mailer flag.
_________________________________________________________________
Subject: Q4.5 -- How can I solve "MX list for hostname points back to hostname"
and "config error: mail loops back to myself" messages?
Date: January 17, 1997
Updated: May 8, 2000
Updated: January 24, 2002
I'm getting these error messages:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
How can I solve this problem?
You have asked mail to a domain (e.g., domain.net) to be forwarded to
a specific host (in this case, relay.domain.net) by using an MX
record, but the relay machine doesn't recognize itself as domain.net.
Add domain.net to /etc/mail/local-host-names [known as
/etc/sendmail.cw prior to version 8.10] (if you are using
FEATURE(`use_cw_file')) or add "Cw domain.net" to your configuration
file.
There are a couple of additional cases where you don't actually want
local delivery, and thus adding domain.net to class w is not the right
fix:
* When relay.domain.net should just be acting as a forwarder, e.g. a
firewall/gateway box. The proper fix could be to set up a
mailertable entry for domain.net.
* When relay.domain.net is a secondary (etc.) MX, and the MX
mistakenly points to a CNAME or other "non-canonical" name [this
gives "config error: mail loops back to me (MX problem?)"]. The
proper fix is to point the MX at the actual name, a "work-around"
to add the MX target to class w.
IMPORTANT: When making changes to your configuration file, be sure you
kill and restart the sendmail daemon (for any change in the
configuration, not just this one):
kill -HUP `head -1 /var/run/sendmail.pid`
Note: You can also get this error message (MX loops ...) when two
sendmail systems talk to each other, and both have the same value of
$j . The best solution is "don't do that."
_________________________________________________________________
Subject: Q4.6 -- Why does my sendmail process sometimes hang when connecting
over a SLIP/PPP link?
Date: March 23, 1996
I'm connected to the network via a SLIP/PPP link. Sometimes my
sendmail process hangs (although it looks like part of the message has
been transfered). Everything else works. What's wrong?
Most likely, the problem isn't sendmail at all, but the low level
network connection. It's important that the MTU (Maximum Transfer
Unit) for the SLIP connection be set properly at both ends. If they
disagree, large packets will be trashed and the connection will hang.
_________________________________________________________________
Subject: Q4.7 -- How can I summarize the statistics generated by sendmail in
the syslog?
Date: April 9, 1997
Updated: January 4, 1999
Updated: March 27, 2000
Updated: July 13, 2000
Updated: May, 2001
Updated: August, 2001
Updated: November, 2001
Updated: May, 2006
This question is addressed on pages 445-449 of _sendmail, 2nd Ed_ (see
page 319 of first edition) by Bryan Costales (see entry
sendmail-faq//book/ISBN/1-56592-222-0 in Q6.1).
To see what else is available today, check the Comprehensive Perl
Archive Network. For more information, see the comp.lang.perl.* FAQs
at ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/lang/perl/.
If you're interested in using these kinds of tools to help you do some
near real-time monitoring of your system, you might be interested in
MEWS (Mail Early Warning System). From the README:
If you've ever written a perl script to parse sendmail
log files looking for errors, MEWS might be of interest to
you. If you've ever thought about writing a perl script to
munge sendmail log files, cringed a little and hurriedly
came up with an excuse not to do it, read on.
If you don't have a Solaris 2.5 machine, you can probably
stop reading here.
The Mail Early Warning System (MEWS) gives postmasters
immediate notification of trouble spots on your mail
backbone. It only works with sendmail.
To explain it in a nutshell, whenever sendmail returns a
4xx or 5xx SMTP code, with the MEWS modifications, it also
sends the code over UDP to a daemon which then replays the
error message to interested parties. The man pages go into
a little bit more detail.
If this sounds like something you might be interested in getting more
details about, you can find the MEWS archive at
ftp://ftp.qualcomm.com/pub/people/eamonn/mews.tar.Z.
Here's an update from Stephane Lentz on June 29, 2000:
* anteater - written in C++ (+ STL lib), fast, really promising (you
can add modules)
* mreport - written in C, works fine on small logs but not with big
hubs' log (all data are stored into memory)
See also John Oliver's sendmail tools page for pointers to several
related scripts. (May 25, 2001)
Brad Knowles's links for popstats, smtpstats and syslog_stats have
been revived at a new location. (May 29, 2001)
Two new links (November 12, 2001):
* Counterpane: Log Analysis Resources
* LogReport
_________________________________________________________________
Subject: Q4.8 -- How can I check my sendmail.cf to ensure that it's re-writing
addresses correctly?
Date: June 3, 2002
Sendmail's test mode is best for this. See the Sendmail Installation
and Operation Guide, § 3.8 (Testing Configuration files); here is a
short sample:
% sendmail -bt -C /path/to/test/sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /tryflags hs
> /try esmtp user@domain.com
Trying header sender address user@domain.com for mailer esmtp
...
> /quit
%
_________________________________________________________________
Subject: Q4.9 -- What is procmail, and where can I get it?
Date: April 8, 1997
Updated: February 28, 1999
The program "procmail" is a replacement for the local mailer
(variously called /bin/mail, /usr/bin/mail, mail.local, rmail,
etc...). It has been ported to run on virtually every Unix-like OS
you're likely to run into, and has a whole host of features. It is
typically about 30% faster performing the job of the local mailer than
programs such as /bin/mail or /usr/bin/mail, it has been hammered on
widely to make it extremely secure (much more so than most local
mailers) and very robust. Procmail is also capable of helping you put
a quota on a user's mailbox through the standard Unix quota mechanism
(see Q4.3).
In short, whatever you've got, you're almost guaranteed that procmail
is better (if nothing else, the author has been able to focus lots of
time and energy into making it the best and fastest tool available,
while most system vendors just throw something together as fast as
they can and move on to the whole rest of the OS).
However, this only begins to scratch the surface of what procmail is
capable of. It's most important feature is the fact that it gives you
a standard way to create rules (procmail calls them "recipes") to
process your mail before the messages get put into your mailbox, and
for that feature alone, it is one of the most important tools any
administrator can have in their repertoire. By filtering out or
automatically dealing with 80% of your daily cruft, it lets you spend
more time on the hard 20%.
Note that recent releases of version 8 sendmail natively support using
procmail as an alternate local mailer (see "FEATURE(local_procmail)"
for version 8.7 and above). They also support procmail as an
additional local mailer, if you're concerned about flat-out replacing
your current local mailer with procmail (see "MAILER(procmail)" in
version 8.7 and above).
You can also install procmail as a user and run it out of your
.forward file, although this tends to be a bit slower and less
efficient.
More information about procmail can be found at
http://www.procmail.org/ and the latest version can be found at
ftp://ftp.procmail.org/pub/procmail/.
Procmail is also the core to a mailing list management package called
"SmartList", so if you've already got procmail, adding SmartList may
be a good option. Some listowners prefer Majordomo, Listserv, or one
of those other programs, but SmartList has more than a few adherents
as well. Your personal tastes will dictate whether you swear by
SmartList or at it.
_________________________________________________________________
Subject: Q4.10 -- How can I solve "cannot alias non-local names" errors?
Date: March 24, 1997
I upgraded from my vendor's sendmail to the latest version and now I'm
getting these error messages when I run "newaliases":
/etc/aliases: line 13: MAILER-DAEMON... cannot alias non-local names
/etc/aliases: line 14: postmaster... cannot alias non-local names
How can I solve this problem?
Your local mailer doesn't have the "A" flag specified. Edit the Mlocal
line in sendmail.cf and add "A" to the flags listed after "F=".
Better yet, if you're running a recent version of sendmail that uses
m4 to generate .cf files from .mc files, regenerate your sendmail.cf
and see if that fixes the problem. Remember to install the new
sendmail.cf and restart the sendmail daemon.
_________________________________________________________________
Subject: Q4.11 -- Is sendmail Year-2000 (Y2K) compliant?
Date: April 24, 1997
Updated: July 7, 1999
Please refer to the Sendmail Year 2000 Readiness Disclosure page.
_________________________________________________________________
Subject: Q4.12 -- How can I batch remote mail to be sent using my ISP while
delivering local mail immediately?
Date: October 14, 1997
Updated: February 9, 1999
Updated: May 19, 2004
First, you need to get sendmail not to use DNS on your local machine
so your host doesn't trying to connect to your ISP for a DNS query.
See Q3.22 for more information.
You also need to designate a "smart host" or external relay to handle
all mail that you can't deliver locally (this would be your ISP's
mailhost).
You need to configure it so that the smtp mailer is considered
"expensive" by adding the F=e mailer flag and tell sendmail not to
connect to expensive mailers by default by setting the HoldExpensive
option to True.
You need to add mydomain.com to the sendmail.cw file or the Cw line in
the sendmail.cf. See Q4.5.
Finally, you need to run a program periodically to check in with your
ISP and get them to deliver any mail they may have queued for you. See
Q3.23.
Andrzej Filip offers a different solution based on use of the dsmtp
mailer (introduced in 8.10) instead of expensive mailers.
_________________________________________________________________
Subject: Q4.13 -- What does "unknown mailer error 1" mean?
Date: September 24, 1998
In general, sendmail does not perform final delivery of messages, but
relies on a local delivery agent instead. Such an agent, mail.local,
is provided with the sendmail distribution. Any such agent that
sendmail invokes for message delivery, as specified on an M line in
sendmail.cf, must exit with code 0 (success), or one of the failure
codes noted in src/sysexits.h. These generally run in the range 64 -
78, so 1 would be out of range, and lead to sendmail generating the
above error.
_________________________________________________________________
Subject: Q4.14 -- How do I queue mail for another domain?
Date: April 28, 1999
Updated: December 21, 2000
Updated: May 19, 2004
Situation: Your system mailserver.my.domain should act as a backup
mailserver for mailserver.destination.domain. The client wants to
receive mail for the address user@destination.domain. This requires:
1. MX Records:
destination.domain. IN MX 10 mailserver.destination.domain.
destination.domain. IN MX 20 mailserver.my.domain.
mailserver.destination.domain. IN MX 10 mailserver.destination.domain.
mailserver.destination.domain. IN MX 20 mailserver.my.domain.
The last two records are there "just in case" (someone forgot
masquerading).
Make sure you use the real names of all systems.
mailserver.my.domain must know its own name, otherwise you'll get
the famous mail loops back to myself error.
Instead of using MX records that point to
mailserver.destination.domain, you can use the
FEATURE(mailertable) on mailserver.my.domain as explained in
cf/README for routing e-mails.
2. On your system: do nothing unless you have anti-relay rules
installed (which you really should have!). In this case, add
destination.domain to the required files (8.9) (or for 8.8). Don't
add destination.domain or mailserver.destination.domain to class w
on your system!
If you want finer-grained control, then instead of updating
/etc/mail/relay-domains, add the following to /etc/mail/access, as
the access map entries allows relaying only "To:" a domain, while
relay-domains allows both directions.
To:destination.domain RELAY
3. sendmail on your system will try to deliver mail during queue
runs, however, the client may trigger delivery by using the ETRN
command.
_________________________________________________________________
Subject: Q4.15 -- How do I create attachments with sendmail?
Date: May 26, 1999
You don't. Sendmail is a mail transfer agent (MTA). Creating e-mail
messages, including adding attachments or signatures, is the function
of a mail user agent (MUA). Some popular MUAs include mutt, elm, exmh,
Netscape, Eudora and Pine. Some specialized packages (metamail, some
Perl modules, etc.) can also be used to create messages with
attachments.
_________________________________________________________________
Subject: Q4.16 -- How do I find sendmail's version number?
Date: August 2, 1999
Updated: July 19, 2000
Updated: December 28, 2001
To find out which version is actually running, from without, telnet to
the SMTP port (port 25). The daemon usually announces its name and
version number, as in
thishost% telnet that.host 25
Trying IP_addr...
Connected to that.host.
Escape character is '^]'.
220 that.host ESMTP Sendmail 8.12.1/8.12.1; Fri, 28 Dec 2001 11:39:34 -0800
QUIT
To query a binary on your local host, the following command should
display its version number, along with some extra configuration
information, possibly including the configuration version number:
% echo \$Z | /usr/sbin/sendmail -bt -d0
Version 8.12.1
Compiled with: MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND
NETINET NETUNIX NEWDB NIS QUEUE SCANF SMTP USERDB XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = knecht
(canonical domain name) $j = knecht.Sendmail.ORG
(subdomain name) $m = Sendmail.ORG
(node name) $k = knecht.Sendmail.ORG
========================================================
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 8.12.1
%
Adjust the pathname as needed; /usr/lib and /usr/sbin are the most
common locations.
_________________________________________________________________
Subject: Q4.17 -- How do I handle user names with upper-case characters?
Date: November 18, 1999
Updated: August 8, 2001
You really shouldn't, because upper case characters in user names are
contrary to the Unix tradition. If you do, then e-mail addresses will
be case sensitive, so that mail to <USER@your.host> will bounce
instead of being delivered to <user@your.host>. As this is contrary to
the expectations of many, it is not recommended.
But if you insist on doing so anyway, and you have version 8.10, put
the following in your .mc file:
MODIFY_MAILER_FLAGS(`LOCAL', `+u')dnl
If you don't have 8.10, you will need to redefine the
LOCAL_MAILER_FLAGS m4 variable, but the initial value varies from OS
to OS, so this is yet another reason not to mess with this flag.
Another hack is the creation of aliases for Uppercase local users in
the form:
# lowercase version to real one
uppercase: Uppercase
It will make sendmail deliver messages to uppercase local recipients
in a case insensitive manner.
_________________________________________________________________
Subject: Q4.18 -- What does "NOQUEUE: Null connection from ..." mean?
Date: February 24, 2000
Updated: March 12, 2000
An entry like:
NOQUEUE: Null connection from host.domain [IP.AD.DD.RESS]
in the logfile means that host.domain connected to your MTA but
neither initiated transmission of a message (by issuing the MAIL
command), nor used any of the commands that are logged separately
(EXPN/VRFY/ETRN). Unless this happens very often, you can ignore this.
If it happens very often, it's either someone playing around or it's a
network problem.
Note 1: The significant part of the message isn't the NOQUEUE, but the
"Null connection from ...". In particular, NOQUEUE isn't an error
indication, but just a "place-holder" when no queue ID has been
assigned, typically because message collection hasn't started (yet).
It can occur in other messages too, and there too the significant part
is what comes after the NOQUEUE.
Note 2: In 8.10, the text which led to the confusion has been changed
to: "... did not issue MAIL/EXPN/VRFY/ETRN during connection to ...".
_________________________________________________________________
Subject: Q4.19 -- How do I configure sendmail for POP/IMAP/... ?
Date: March 12, 2000
You don't. Sendmail is a mail transfer agent whose primary purpose is
to send and receive e-mail (primarily via SMTP). Sendmail does not
implement any remote access protocols such as POP or IMAP. But if you
want to learn more about these and other (non-sendmail) e-mail related
things, please refer to our Other (Non-Sendmail) E-Mail Related Links
page.
_________________________________________________________________
Subject: Q4.20 -- How can I automatically copy messages based on sender or
recipient addresses?
Date: June 30, 2000
Updated: February 27, 2001
Updated: June 5, 2001
Updated: February 13, 2003
It would require custom programming. You could either write a mail
filter using the new Milter API in sendmail 8.10 and later (see
libmilter/README) or you could look at some of these other unsupported
hints:
* Axel Reinhold's logall.c module
* Message-Id: <33AA593A.4B701C3F@syntegra.nl>
* the procmailrc man page
Note that no such feature has been added to sendmail. When asked about
this one of the sendmail developers said it was "because we still
believe a bit in privacy."
_________________________________________________________________
Subject: Q4.21 -- How can I send mail to all users?
Date: December 12, 2000
There is no magic short-cut for this. But it is not hard to set up:
create an aliases entry
alluser: :include:/etc/mail/allusers
Don't forget to run 'newaliases'. Then list your users, one per line,
in the file '/etc/mail/allusers'. You might be able to do that with
awk -F: '$3 > 100 { print $1 }' /etc/passwd > /etc/mail/allusers
_________________________________________________________________
Subject: Q4.22 -- Why can't I receive external mail?
Date: December 4, 2002
Updated: August 16, 2004
Several vendors have changed the way that sendmail is run. They
decided that most people need a client-only version of sendmail. So it
is listening only on the localhost interface. Check the system
documentation on how to change your .mc file. Here is a partial table
of where some vendors ship their sendmail configuration hierarchy:
sendmail distribution ./cf
Solaris 7,8,9 /usr/lib/mail
Solaris 10 /etc/mail/cf
Red Hat 6.2 /usr/lib/sendmail-cf
Red Hat 7 /usr/share/sendmail-cf
Slackware 7.1 /usr/src/sendmail/cf
But you should check for yourself on your own system. When in doubt,
do a find for "proto.m4", then go up the tree one level. When you find
the .mc file, look for the string "DAEMON_OPTIONS" and for the comment
lines near that string.
See also 5.3.1.3 for discussion about this problem as it relates
specifically to Red Hat 7.1 and later.
_________________________________________________________________
Subject: Q4.23 -- How do I restrict attachments with sendmail?
Date: May 19, 2004
sendmail itself does not look at the content of a message, so it is
not in a position to strip attachments. You need a filtering package
that works with sendmail. You might want to look at www.milter.org for
some open source solutions that use our "milter" facility. There's
also something called MIMEDefang that can do it. You can also get
commercial products to do it (see www.sendmail.com for example).
_________________________________________________________________
Subject: Q4.24 -- Can I get sendmail to verify an entire e-mail address instead
of just the domain?
Date: May 19, 2004
If the e-mail comes from example.com, you have to look up the MX or A
records for example.com to figure out which mail server to ask if the
user is valid. The DNS could be slow or unresponsive. The remote
server could be slow or unresponsive.
If you were to make such checks, a bad guy could bombard you with mail
claiming to come from hotmail.com users, and then suddenly you would
be connection-bombing Hotmail's mail servers asking them about the
recipients the bad guy is claiming to be.
The only safe way to do this is to verify that the sender exists when
the sender claims to be in your domain. Naturally you are then in a
position to confirm or deny the sender is valid.
sendmail.org
5. VENDOR/OS SPECIFIC SENDMAIL ISSUES
* 5.1 Sun Microsystems SunOS/Solaris 1.x/2.x
+ 5.1.1 How can I solve "line 273: replacement $3 out of
bounds" errors?
+ 5.1.2 How can I solve "line 445: bad ruleset 96 (50 max)"
errors?
+ 5.1.3 Why does version 8 sendmail (< 8.7.5) sometimes hang
under Solaris 2.5?
+ 5.1.4 Why can't I use SunOS/Solaris to get email to certain
large sites?
+ 5.1.5 Why do I have trouble compiling on Solaris?
+ 5.1.6 How does 8.X compare to 8.X+Sun?
* 5.2 IBM AIX
+ 5.2.1 The system resource controller always reports sendmail
as "inoperative". What's wrong?
+ 5.2.2 Why can't I use AIX to get email to some sites?
+ 5.2.3 Why can't I get sendmail 8.7.1 to use MX records with
AIX 3.2.5?
* 5.3 Linux
+ 5.3.1 Red Hat
o 5.3.1.1 Why do I have so many sendmail problems after
configuring sendmail with linuxconf?
o 5.3.1.2 I built sendmail.cf from sendmail.mc and it
works until the next reboot of the machine. What is
going on?
o 5.3.1.3 Why can't I receive mail with Red Hat 7.1 and
later?
+ 5.3.2 SuSE
o 5.3.2.1 Where is the sendmail.cf file on SuSe Linux?
_________________________________________________________________
5.1 -- Sun Microsystems SunOS/Solaris 1.x/2.x
_________________________________________________________________
Q5.1.1 -- How can I solve "line 273: replacement $3 out of bounds" errors?
Date: March 23, 1996
When I use sendmail V8 with a Sun config file I get lines like:
/etc/sendmail.cf: line 273: replacement $3 out of bounds
the line in question reads:
R$*<@$%y>$* $1<@$2.LOCAL>$3 user@ether
what does this mean? How do I fix it?
V8 doesn't recognize the Sun "$%y" syntax, so as far as it is
concerned, there is only a $1 and a $2 (but no $3) in this line. Read
Rick McCarty's paper on "Converting Standard Sun Config Files to
Sendmail Version 8", in the contrib directory (file
"converting.sun.configs") in the latest version 8 sendmail
distribution for a full discussion of how to do this.
_________________________________________________________________
Q5.1.2 -- How can I solve "line 445: bad ruleset 96 (50 max)" errors?
Date: March 23, 1996
When I use sendmail V8 on a Sun, I sometimes get lines like:
/etc/sendmail.cf: line 445: bad ruleset 96 (50 max)
what does this mean? How do I fix it?
You're somehow trying to start up the old Sun sendmail (or
sendmail.mx) with a version 8 sendmail config file, which Sun's
sendmail doesn't like. Check your /etc/rc.local, any procedures that
have been created to stop and re-start the sendmail processes, etc....
Make sure that you've switched everything over to using the new
sendmail. To keep this problem from ever happening again, try the
following (make sure you're logged in as root):
mv /usr/lib/sendmail /usr/lib/sendmail.old
ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail
mv /usr/lib/sendmail.mx /usr/lib/sendmail.mx.old
ln -s /usr/local/lib/sendmail.v8 /usr/lib/sendmail.mx
chmod 0000 /usr/lib/sendmail.old
chmod 0000 /usr/lib/sendmail.mx.old
Assuming, of course, that you have installed sendmail V8 in
/usr/local/lib/sendmail.v8.
_________________________________________________________________
Q5.1.3 -- Why does version 8 sendmail (< 8.7.5) sometimes hang under Solaris
2.5?
Date: May 23, 1996
In moving from Solaris 2.4 to Solaris 2.5, the kernel changed its name
and is now in /kernel/genunix instead of /kernel/unix, so _PATH_UNIX
in conf.h is pointing to the wrong place.
If you can't upgrade to the latest release of sendmail 8.8.z, the next
best thing to do is change _PATH_UNIX in conf.h (in the solaris2 part)
to point to the generic interface /dev/ksyms, like so:
# define _PATH_UNIX "/dev/ksyms"
_________________________________________________________________
Q5.1.4 -- Why can't I use SunOS/Solaris to get email to certain large sites?
Date: November 24, 1996
This is most likely a problem in your resolver libraries (DNS,
/etc/hosts, NIS, etc...). Older Sun (and Solaris?) resolver libraries
allocated enough room for only five IP addresses for each host name,
and if any program ever ran across a name with more than five IP
addresses for it, the program would crash.
For example, this would keep you from getting mail to CompuServe,
since (at the time of this writing) they list eleven IP addresses for
mx1.compuserve.com (one of the named MXes for compuserve.com).
This will affect you even if you use version 8 sendmail, since it's a
problem in the resolver libraries, and not in sendmail itself.
You should either get patches to the resolver libraries from Sun, or
the latest version of BIND (see Q2.12) and install their resolver
library routines. Between the two, installing BIND is a bit more work,
but it typically gives you much more up-to-date code to help you
resist attacks to your systems, more capable programs to be used for
serving the DNS (including support for IPv6 and several other
features), and some very useful utility programs.
_________________________________________________________________
Q5.1.5 -- Why do I have trouble compiling on Solaris?
Date: October 20, 1997
Many people have experienced compilation problems on Solaris, with the
compiler typically complaining about tm_zone or TopFrame. The Solaris
section of our Compiling Sendmail page explains these.
_________________________________________________________________
Q5.1.6 -- How does 8.X compare to 8.X+Sun?
Date: August 29, 1998
With a Vn/Berkeley config file, they're identical. There are a few
minor differences between 8.X with a Vn/Berkeley config file and
8.X+Sun with the same config file, but the V line changed to Vn/Sun.
But most differences are the backwards compatibility hacks needed for
8.X+Sun to support old V1/Sun config files.
There are three web pages which discuss these in detail: Berkeley
migration (from SMI-8.6 to 8.X), Sun migration (from SMI-8.6 to
8.X+Sun), and Differences (5 sections comparing and contrasting config
files and binaries).
_________________________________________________________________
5.2 -- IBM AIX
_________________________________________________________________
Q5.2.1 -- The system resource controller always reports sendmail as
"inoperative". What's wrong?
Date: July 5, 1996
Updated: January 30, 2002
When I use version 8 sendmail on an IBM RS/6000 running AIX, the
system resource controller always reports sendmail as "inoperative",
even though it's actually running. What's wrong?
When running as a daemon, sendmail detaches from its parent process,
fooling the SRC into thinking that sendmail has exited. To fix this,
issue the commands:
kill `head -1 /etc/sendmail.pid`
chssys -s sendmail -f 9 -n 15 -S -a "-bD"
startsrc -s sendmail -a "-bd -q30m"
# your sendmail args may vary
Now the SRC should report the correct status of sendmail.
For more information, read up on the System Resource Controller, the
lssrc command and the chssys command in the online AIX documentation.
_________________________________________________________________
Q5.2.2 -- Why can't I use AIX to get email to some sites?
Date: April 8, 1997
When I use IBM's sendmail on an IBM RS/6000 running AIX trying to get
to certain sites, it seems that I can get to some of them and not
others. What's wrong?
There are two possible problems here:
1) Your version of sendmail is not configured to recognize MX records
in the DNS. Search through your sendmail.cf looking for "OK MX" or "OK
ALL". Older configurations had this line commented out, and this will
cause mail from you to some sites to fail (because those sites have MX
records, but no A records in their DNS for the specific Fully
Qualified Domain Name you're trying to mail to).
For more information, see the comp.unix.aix FAQ
ftp://rtfm.mit.edu/pub/usenet/news.answers/aix-faq/.
2) There is a negative caching bug in AIX 3.2.5 with /usr/sbin/named
executables that are less than 103000 bytes long. Ask your IBM
representative to give you PMP 3251, or the most recent patch that
fixes this problem for your particular configuration and version of
the OS.
_________________________________________________________________
Q5.2.3 -- Why can't I get sendmail 8.7.1 to use MX records with AIX 3.2.5?
Date: July 5, 1996
IBM, in their infinite wisdom, provided a header file that would
easily mis-compile. This resulted in the struct{} for the DNS query to
be mis-allocated, and MX processing would barf.
Fix 1) upgrade to 8.7.5 - this has a code fix for this problem.
Fix 2) Install the BIND 4.9.4 libraries and include files and tweak
the Makefile.AIX to use them - I *think* these Get It Right (if not,
at least it'll die during compile rather than failing weirdly at
runtime).
Fix 3) Hack Makefile.AIX to pass a -DBIT_ZERO_ON_LEFT to cause the
headers to use the right #ifdefs.
_________________________________________________________________
5.3 -- Linux
_________________________________________________________________
5.3.1 -- Red Hat
_________________________________________________________________
5.3.1.1 -- Why do I have so many sendmail problems after configuring
sendmail with linuxconf?
Date: June 15, 2000
Updated: September 27, 2000
Do not edit sendmail.cf with linuxconf. This tool and its module
"mailconf" are broken and based on very old rulesets from 8.8.7 . You
will have many troubles if you do this. First make sure that the
sendmail-cf RPM is installed. Then create your own myhost.mc file in
/usr/lib/sendmail-cf/cf:
% cd /usr/lib/sendmail-cf/cf
% cp redhat.mc myhost.mc
(Edit myhost.mc)
% m4 ../m4/cf.m4 myhost.mc > myhost.cf
(Test this new myhost.cf; once it's known good, install it:)
(If 8.9.x or earlier:)
% cp myhost.cf /etc/sendmail.cf
% chown root /etc/sendmail.cf
(If 8.10.x or later:)
% cp myhost.cf /etc/mail/sendmail.cf
% chown root /etc/mail/sendmail.cf
See /usr/doc/sendmail/README.cf (or just README) for features and
detailed instructions how to do this.
_________________________________________________________________
5.3.1.2 -- I built sendmail.cf from sendmail.mc and it works until the next
reboot of the machine. What is going on?
Date: June 15, 2000
If you have used linuxconf's module "mailconf" just once, it will
rewrite your sendmail.cf on every reboot if it sees that sendmail.cf
is changed from linuxconf. The solution is to remove the mailconf
module from linuxconf. Turn on linuxconf and go to item
Control files and systems > Configure Linuxconf modules
Scroll down to "Module path -> mailconf" and turn off the button "this
module is active", then click "Accept" and "quit" to quit linuxconf.
This will disable linuxconf's control of sendmail. Build sendmail.cf
again from sendmail.mc (see 5.3.1), and restart sendmail.
_________________________________________________________________
5.3.1.3 -- Why can't I receive mail with Red Hat 7.1 and later?
Date: May 3, 2001
Updated: June 11, 2001
Updated: December 4, 2002
Red Hat, like some other vendors, changed the way that sendmail is
run. (See 4.22 for a more general discussion of this problem.) They
decided that most people need a client-only version of sendmail. So it
is listening only on the localhost interface. Check the RH
documentation on how to change that:
Make sure that you have installed the "sendmail-cf" package on your
system -- it should be on your install media.
Then check the file "sendmail.mc" (probably in "/etc/mail"). Look for
the string "DAEMON_OPTIONS" and for the comment lines near that
string.
Also note that Red Hat 7.1 and later build sendmail with tcpwrapper
support, and provide a hosts.deny file that rejects all external mail.
The sendmail:ALL addition to hosts.allow fixes this.
_________________________________________________________________
5.3.2 -- SuSE
_________________________________________________________________
5.3.2.1 -- Where is the sendmail.mc file on SuSE Linux?
Date: May 5, 2002
On SuSE Linux systems there is no real sendmail.mc file. This file is
generated 'on the fly' by SuSEconfig using several variables in
/etc/rc.config and /etc/rc.config.d/sendmail.rc.config (SuSE <= 7.3)
or /etc/sysconfig/sendmail (SuSE >= 8.0).
SuSEconfig executes the script /sbin/conf.d/SuSEconfig.sendmail to a)
build a temorary .mc file b) execute m4 to generate /etc/sendmail.cf
and c) delete the temporary .mc file afterwards.
To make customisations you cannot achieve by modifying the variables
in the configuration files mentioned above (using YaST or YaST2), you
have two options:
1. Use /etc/mail/linux.mc (or /etc/mail/linux.nullclient.mc) as a
starting point. Both files contain several helpful comments.
2. To get a .mc file based on your current configuration, modify
/sbin/conf.d/SuSEconfig.sendmail to keep the temporary .mc file
and execute SuSEconfig afterwards. Then use that copy as starting
point.
In both cases you have to build your /etc/sendmail.cf (note: SuSE
still uses /etc not /etc/mail as suggested in the manual) using the m4
macroprocessor:
m4 your.mc.file > /etc/sendmail.cf
Then reload sendmail with "rcsendmail reload".
To prevent SuSEconfig from overiding your new sendmail.cf in future
runs, set the variable "SENDMAIL_TYPE" in
/etc/rc.config.d/sendmail.rc.config to "no" (SuSE Linux <= 7.3). On
systems >= 8.0 you probably will have to set an "exit" command atop of
the file /sbin/conf.d/SuSEconfig.sendmail to do the same. SuSE 8.0
does not know the SENDMAIL_TYPE variable.
sendmail.org
6. ADDITIONAL INFORMATION SOURCES (RFC 1807 bibliography format)
* 6.1 Reference material devoted exclusively to sendmail
* 6.2 Reference material with chapters or sections on sendmail
* 6.3 Reference material on subjects related to sendmail
* 6.4 World-wide web index pages on sendmail
* 6.5 World-wide web index pages Internet email in general
* 6.6 Online tutorials for sendmail
* 6.7 Online archives of mailing lists and Usenet newsgroups,
relating to Internet email
_________________________________________________________________
Q6 -- Additional information sources
Date: April 8, 1997
Updated: July 20, 2002
This probably isn't in strict RFC 1807 format, but I'm getting closer.
Unfortunately, the format detailed in RFC 1807 was never intended to
be used in this fashion, so I'm doing a bit of square-peg fitting into
round holes.
Note that the publisher ids that I've assigned should not be
misconstrued to imply that I have actually published all these
documents, it's just that I need some sort of reasonable entry for the
RFC 1807 "ID" field, and in lieu of information to the contrary
indicating what the actual publishers have registered, I have assigned
my own, independent, "third-party" IDs. Hopefully, the bibliographic
entries below make it obvious who the real publishers of the various
documents are.
_________________________________________________________________
6.1 Reference material devoted exclusively to sendmail
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/reference/1
ENTRY:: March 23, 1996
TYPE:: Reference manual, available online in printable format
REVISION:: July 19, 2002
TITLE:: Sendmail Installation and Operation Guide
AUTHOR:: Allman, Eric
AUTHOR:: Shapiro, Gregory
AUTHOR:: Aßmann, Claus
CONTACT:: <sendmail-questions@Sendmail.ORG>
DATE:: July 20, 2002
PAGES:: 100
RETRIEVAL:: Contents of manual is in doc/op/op.ps of sendmail source
archive
KEYWORD:: version 8.12.5 sendmail
LANGUAGE:: English
NOTES:: {g|n}roff "me" macro format version is in doc/op/op.me
See: URL:http://www.sendmail.org/
ABSTRACT::
The documentation written by Eric Allman himself, comes with the
sendmail distribution. It is absolutely necessary to have this guide
at hand at all times. Section one tells how to do an installation.
Section two explains day to day information you should know to run a
mail system. Tuning, queue management and features for access control
are all documented in this guide. The file in doc/op/op.me (nroff "me"
macro format) may have a different number of pages depending on the
type of device it is printed on, etc....
Check the sendmail home page for late-breaking updates and other
useful information.
If you want to be notified regarding future updates to sendmail and
other items of potential interest, you may want to subscribe to the
sendmail-announce mailing list. Address your subscription requests to
"majordomo@lists.sendmail.org" with "subscribe sendmail-announce" as
the body of the message.
END:: sendmail-faq//online/reference/1
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-56592-222-0
ENTRY:: March 23, 1996
REVISION:: April 8, 1997; Updated entire entry re: 2nd Ed.
TYPE:: Reference book, hardcopy
TITLE:: sendmail
AUTHOR:: Costales, Bryan
AUTHOR:: Allman, Eric
CONTACT:: Bryan Costales <bcx@BCX.COM>
O'Reilly & Associates, Inc.
103 Morris Street, Suite A
Sebastapol, CA 95472
Order by phone: 800-998-9938 (US/Canada inquiries)
800-889-8969 (US/Canada credit card orders)
707-829-0515 (local/overseas)
DATE:: January, 1997
PAGES:: 1021
COPYRIGHT:: Copyright (c) 1997 O'Reilly & Associates, Inc. All rights
reserved.
LANGUAGE:: English
NOTES:: See: URL:http://www.ora.com/catalog/sendmail2/
ABSTRACT::
The definitive reference for version 8 sendmail (specifically, version
8.8). If you can have only one book on the subject of sendmail, this
one is it.
Bryan provides his consulting to the world in the form of his book,
unless you're willing to compensate him for his services as well. Like
Eric, you should make sure you've exhausted all other courses of
action before you spend any of his valuable time.
END:: sendmail-faq//book/ISBN/1-56592-222-0
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-55558-127-7
ENTRY:: March 23, 1996
TYPE:: Reference book, hardcopy
REVISION:: Sep 9, 1996; fixed typo
TITLE:: Sendmail: Theory and Practice
AUTHOR:: Avolio, Frederick M.
AUTHOR:: Vixie, Paul A.
CONTACT:: Fred Avolio <fma@al.org>, Paul Vixie <vix@al.org>
Digital Press
225 Wildwood Avenue
Woburn, MA 01801, USA
Ordering Info: voice 1 800 366 2665
fax 1 800 446 6520
DATE:: 1994
PAGES:: 262
COPYRIGHT:: Copyright (c) by 1995 Butterworth-Heinemann
LANGUAGE:: English
NOTES:: See: URL:http://www.vix.com/vix/smtap/
ABSTRACT::
Centers more on IDA sendmail (at least partly because version 8 didn't
exist when they began the book). Written more like a college Sophomore
or Junior level textbook.
While you'll probably never let the Costales book out of your grubby
little hands (especially if you do much work with version 8 sendmail),
this is a book you'll probably read once or maybe twice, learn some
very valuable things, but then likely put on a shelf and not read or
reference again (unless you have to write up a bibliographic entry for
it). Makes a better introduction to sendmail for management types,
especially if you don't want them getting their hands on too much
"dangerous" technical information. Also a *lot* smaller and less
imposing.
If possible, I recommend getting both, but if you can only get one,
get Costales unless you're going to be working exclusively with IDA
sendmail, in which case Avolio & Vixie will probably be more useful.
Note that Paul Vixie is extremely busy working on further development
of BIND, the Internet de facto standard program for serving the DNS,
upon which all Internet services depend, mail being only one of them.
Like Eric and Bryan, he's also very busy. Unless you're willing to
compensate him for his services, please let him get real work done.
END:: sendmail-faq//book/ISBN/1-55558-127-7
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-56592-278-6
ENTRY:: April 14, 1999
REVISION::
TYPE:: Pocket size reference, hardcopy
TITLE:: sendmail Desktop Reference
AUTHOR:: Costales, Bryan
AUTHOR:: Allman, Eric
CONTACT:: Bryan Costales <bcx@BCX.COM>
O'Reilly & Associates, Inc.
103 Morris Street, Suite A
Sebastapol, CA 95472
Order by phone: 800-998-9938 (US/Canada inquiries)
800-889-8969 (US/Canada credit card orders)
707-829-0515 (local/overseas)
DATE:: June, 1997
PAGES:: 68
COPYRIGHT:: Copyright (c) 1997 O'Reilly & Associates, Inc. All rights
reserved.
LANGUAGE:: English
NOTES:: See: URL:http://www.ora.com/catalog/sendmailqr/
ABSTRACT::
A companion to the sendmail book. This small guide fits in pocket and
saves you having to carry the thousand page book in your briefcase.
For detail or tutorial information, see the full sendmail book. There
are sections on the config file, databases and configuring with m4.
There are extensive cross-references to the full sendmail book.
END:: sendmail-faq//book/ISBN/1-56592-278-6
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/0-7821-2737-1
ENTRY:: July 19, 2002
TYPE:: Reference book, hardcopy
TITLE:: Linux Sendmail Administration
AUTHOR:: Hunt, Craig
CONTACT:: SYBEX, Inc.
1151 Marina Village Parkway
Alameda, CA 94501
Order on-line: www.sybex.com
also: Bookpool.com (www.bookpoolcom)
DATE:: February 2001
PAGES:: 457
LANGUAGE:: English
ABSTRACT::
This book is useful whether you run Linux or some other Unix version.
It attempts to simplify sendmail by covering only configuration
options usually needed, which reduces some complexity for new sendmail
administrators. Covered are: using the m4 language to build a sendmail
configuration, using sendmail databases such as access maps, testing
and debugging and using sendmail authentication techniques. Covers
some things not in the Costales book (the "Bat Book") which was last
updated for sendmail 8.8.
END:: sendmail-faq//book/ISBN/0-7821-2737-1
END:: sendmail-faq//book/ISBN/0-321-11570-8
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/0-321-11570-8
ENTRY:: October 12, 2002
REVISION::
TYPE:: Reference book, hardcopy
TITLE:: sendmail Performance Tuning
AUTHOR:: Christenson, Nick
CONTACT:: Nick Christenson <npc@acm.org>
Addison-Wesley Professional
75 Arlington St., Suite 300
Boston, MA 02116 USA
Order on the web at:
http://www.pearsonptg.com/book_detail/0,3771,0321115708,00.html
DATE:: September, 2002
PAGES:: 256
COPYRIGHT:: Copyright (c) 2003 by Pearson Eduction, Inc., All rights
reserved.
LANGUAGE:: English
NOTES:: See: URL:http://www.jetcafe.org/~npc/book/sendmail/
ABSTRACT::
As email traffic continues to increase, system administrators must be
able to guarantee that their email servers can deliver reliable
performance today and bear larger loads tomorrow. "sendmail
Performance Tuning" is a practical guide to building, tuning, and
testing email servers based on sendmail to function more efficiently,
handle more messages, and resist both accidental and malicious
load-related incidents.
END:: sendmail-faq//book/ISBN/0-321-11570-8
_________________________________________________________________
6.2 Reference material with chapters or sections on sendmail
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/0-13-151051-7
ENTRY:: March 23, 1996
TYPE:: Reference book, hardcopy
REVISION:: May 23, 1996; Updated abstract.
TITLE:: Unix System Administration Handbook, Second Edition
AUTHOR:: Nemeth, Evi
AUTHOR:: Snyder, Garth
AUTHOR:: Seebass, Scott
AUTHOR:: Hein, Trent R.
CONTACT:: <sa-book@admin.com>
Prentice-Hall, Inc.
Upper Saddle River, New Jersey 07458
DATE:: January, 1995
PAGES:: 780
COPYRIGHT:: Copyright (c) 1995 by Prentice Hall PTR
LANGUAGE:: English
NOTES:: See: URL:http://www.admin.com/
ABSTRACT::
Still the best hands-on Unix System Administration book around. Covers
far more than just sendmail, but the sixty-four pages (pages 455-518
in the third printing) it does devote are very well written and quite
useful. Also provides a version of Rob Kolstad's checksendmail script
on the accompanying CD-ROM.
Note that Eric Allman and Marshall Kirk McKusick wrote the Foreword
for the Second Edition. This should give you at least an inkling as to
how essential this book is, even for experienced Unix administrators.
END:: sendmail-faq//book/ISBN/0-13-151051-7
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/0-201-58629=0
ENTRY:: March 23, 1996
TYPE:: Reference book, hardcopy
REVISION:: March 27, 1996; Changed ID format to include ISBN,
moved URL to NOTES field from OTHER_ACCESS field,
also updated ABSTRACT
REVISION:: March 29, 1996; Updated ID, PAGES, COPYRIGHT, and ABSTRACT
TITLE:: Practical Internetworking With TCP/IP and UNIX
AUTHOR:: Carl-Mitchell, Smoot
AUTHOR:: Quarterman, John S.
CONTACT:: <tic@tic.com>
Addison Wesley Publishing Company
Computer Science & Engineering Division
One Jacob Way
Reading, MA 01867
USA
Orders: voice://800-822-6339 (USA)
fax://617-942-1117
DATE:: 1993
PAGES:: 476
COPYRIGHT:: Copyright (c) 1993 by Addison-Wesley Publishing
Company, Inc.
LANGUAGE:: English
NOTES:: See URL:http://heg-school.aw.com/cseng/authors/mitchell/
practical/practical.html
ABSTRACT::
Devotes 50 pages (most of chapter 8) to discussion of sendmail. As far
as TCP/IP networking books go that also happen to discuss sendmail, it
seems well-written and clear (better than I recall Hunt's book being),
but rather dated in the face of books devoted to the topic and all the
recent development activity in the sendmail community. Forget about
the references, though. The newest sendmail-related reference listed
is dated 1983, ten years before the date on this book and most
certainly wildly out-of-date now.
There are other books written on the subject of Internetworking with
TCP/IP (most notably Comer), but this particular book seems to have a
unique mix of theory (if perhaps a bit dated) and practical advice.
Other books tend to have lots of one or the other, or split their
theory and nitty-gritty details into separate books in a series (like
Comer).
Assuming that an update will be coming out soon, it probably deserves
a place on the shelf of most System or Network Administrators, right
next to _Internetworking with TCP/IP_ by Comer, _Managing Internet
Information Services_ by Liu, et. al., _DNS and BIND_ by Albitz and
Liu, _Unix System Administration_ by Nemeth, et. al., and last, but
certainly not least, _sendmail_ by Costales. However, it deserves this
place more because of the non-sendmail related material, as opposed to
what sendmail-related material there is.
END:: sendmail-faq//book/ISBN/0-201-58629-0
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-56592-322-7
ENTRY:: April 14, 1999
TYPE:: Reference book, hardcopy
REVISION:: July 20, 2002
TITLE:: TCP/IP Network Administration 3rd Edition
AUTHOR:: Hunt, Craig
CONTACT:: O'Reilly & Associates, Inc.
1005 Gravenstein Highway North
Sebastapol, CA 95472
Bookstores Carrying O'Reilly Books:
www.oreilly.com/sales/bookstores
also: Bookpool.com (www.bookpool.com)
DATE:: April, 2002
PAGES:: 725
LANGUAGE:: English
NOTES:: See: URL:http://www.ora.com/catalog/tcp3/
ABSTRACT::
Chapter 10 consists of 50 pages devoted to sendmail. Appendix E is a
60 page sendmail reference which covers compiling sendmail, m4
compiler options, sendmail command line arguments, and sendmail
configuration. A very good treatment of sendmail, less daunting and
more current than the 2nd edition Costales book. The introductary
chapters of the book are also helpful in understanding the big picture
of network services.
END:: sendmail-faq//book/ISBN/1-56592-322-7
_________________________________________________________________
6.3 Reference material on subjects related to sendmail
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-56592-512-2
ENTRY:: April 14, 1999
TYPE:: Reference book, hardcopy
REVISION:: April 14, 1999; Updated entire entry for 3rd Ed.
TITLE:: DNS and BIND 3rd Edition
AUTHOR:: Albitz, Paul
AUTHOR:: Liu, Cricket
CONTACT:: O'Reilly & Associates, Inc.
103 Morris Street, Suite A
Order by phone: 800-998-9938 (US/Canada inquiries)
800-889-8969 (US/Canada credit card orders)
707-829-0515 (local/overseas)
DATE:: September, 1998
PAGES:: 502
COPYRIGHT:: Copyright (c) 1998 O'Reilly & Associates, Inc. All rights
reserved.
LANGUAGE:: English
NOTES:: See: URL:http://www.ora.com/catalog/dns3/
ABSTRACT::
As definitive as Costales is on sendmail, this book is on the subject
of the Domain Name System (DNS) and the most common server software
for the DNS, namely BIND.
The third edition deals with the new 8.1.2 version of BIND as well as
the older 4.9 versions. Wherever there is a difference in behavior of
the versions, the book points out which version does what. Anyone
still using the first edition should strongly consider replacing it
now since the new features will be the basis for the next generation
of name servers.
Since the sending of Internet mail is so very heavily dependent on the
DNS, it obviously also belongs on the shelf of any Postmaster or
System Administrator whose site does Internet email. That means
virtually every administrator of every site on the Internet.
END:: sendmail-faq//book/ISBN/1-56592-512-2
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//book/ISBN/1-56592-153-4
ENTRY:: April 8, 1997
TYPE:: Reference book, hardcopy
TITLE:: Using & Managing UUCP
AUTHOR:: Ravin, Ed
AUTHOR:: O'Reilly, Tim
AUTHOR:: Dougherty, Dale
AUTHOR:: Todino, Grace
CONTACT:: O'Reilly & Associates, Inc.
103 Morris Street, Suite A
Order by phone: 800-998-9938 (US/Canada inquiries)
800-889-8969 (US/Canada credit card orders)
707-829-0515 (local/overseas)
DATE:: September, 1996
PAGES:: 424
LANGUAGE:: English
NOTES:: See: URL:http://www.ora.com/catalog/umuucp/
ABSTRACT::
Replaces _Managing UUCP and Usenet_ by Todino and O'Reilly as the
definitive book for using, installing, and managing UUCP.
The general assumption with version 8 sendmail is that virtually no
one uses UUCP to send email anymore, but if that assumption isn't true
for you, then you probably need this book.
END:: sendmail-faq//book/ISBN/1-56592-153-4
_________________________________________________________________
6.4 World-wide web index/resource pages on sendmail
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/10
ENTRY:: March 23, 1996
TYPE:: Online sendmail index
REVISION:: April 14, 1999; updated to sendmail.org address
TITLE:: sendmail FAQ Support Page
AUTHOR:: Beck, John
CONTACT:: John Beck <sendmail+faq@sendmail.org>
OTHER_ACCESS:: URL:http://www.sendmail.org/faq/
LANGUAGE:: English
ABSTRACT::
Support Page for this FAQ.
END:: sendmail-faq//online/index/10
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/17
ENTRY:: March 25, 1996
TYPE:: Online sendmail index
REVISION:: April 14, 1999; updated to sendmail.org address
TITLE:: comp.mail.sendmail Most Frequently Asked Questions Support Page
AUTHOR:: Aßmann, Claus
CONTACT:: Claus Aßmann <ca@sendmail.org>
OTHER_ACCESS:: URL:http://www.sendmail.org/~ca/email/english.html
LANGUAGE:: English
ABSTRACT::
Most Frequently Asked Questions on comp.mail.sendmail and their
answers. Also has some links to a few other resources.
END:: sendmail-faq//online/index/17
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/resources/22
ENTRY:: November 24, 1996
TITLE:: IICONS Sendmail Resources
AUTHOR:: Caloca, Paul
CONTACT:: Paul Caloca <pcaloca@iicons.com>
COPYRIGHT:: Copyright (c) 1996 Paul Caloca. All Rights Reserved.
OTHER_ACCESS:: URL:http://www.iicons.com/sendmail/index.html
LANGUAGE:: English
ABSTRACT::
Provides information on how to compile Sendmail and the NEWDB db.1.85
for Solaris 2. Also has a section on which Sun patches update Solaris
2 to BIND 4.9.3.
Has pointers to some non-Sun/Solaris sendmail resources, especially
including CERT Advisories related to sendmail.
END:: sendmail-faq//online/index/22
_________________________________________________________________
6.5 World-wide web index pages and other reference on Internet email in general
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/12
ENTRY:: March 23, 1996
TYPE:: Online general Internet email index
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
TITLE:: Internet Mail Consortium web site
CORP-AUTHOR:: Internet Mail Consortium
CONTACT:: <info@imc.org>
OTHER_ACCESS:: URL:http://www.imc.org/
LANGUAGE:: English
ABSTRACT::
If it has to do with Internet email, you'll probably find it here or a
link to it from here.
They have or have information on email-related Usenet FAQs, RFCs,
Internet Drafts (documents that are in the process of becoming RFCs),
IETF Working Groups, security standards, and are running a few
email-related mailing lists.
Tends to be focussed on the standards issues.
If you care about Internet email, you should make it your duty in life
to check this site frequently.
END:: sendmail-faq//online/index/12
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/13
ENTRY:: March 23, 1996
TYPE:: Online general Internet email index
REVISION:: August 20, 1996; Updated URL.
TITLE:: Email References
AUTHOR:: Wohler, Bill
CONTACT:: Bill Wohler <wohler@worldtalk.com>
OTHER_ACCESS:: URL:http://www.worldtalk.com/html/msg_resources/email_ref.html
LANGUAGE:: English
ABSTRACT::
The most exhaustive index site I know of for Internet email related
documents outside of the Internet Mail Consortium.
Also has pointers to other organizations that relate to Internet
email, such as the Electronic Messaging Association and the European
Electronic Messaging Association.
Tends to be focussed on the server and standards issues.
END:: sendmail-faq//online/index/13
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/14
ENTRY:: March 23, 1996
TYPE:: Online general Internet email index
REVISION:: June 28, 1996; Added acronym for SMTPRD
TITLE:: SMTP Resources Directory (SMTPRD)
AUTHOR:: Salamon, Andras
AUTHOR:: Knowles, Brad
CONTACT:: Andras Salamon <smtprd@dns.net>
OTHER_ACCESS:: URL:http://www.dns.net/smtprd/
LANGUAGE:: English
ABSTRACT::
Another good index site, but still very much in the early phases of
gestation. Based very heavily on the DNS Resources Directory, also by
Andras Salamon.
A well-rounded site, for the amount of material it covers so far.
END:: sendmail-faq//online/index/14
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/index/15
ENTRY:: March 23, 1996
TYPE:: Online general Internet email index
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
TITLE:: E-Mail Web Resources
AUTHOR:: Wall, Matt
CONTACT:: Matt Wall <wall+@cmu.edu>
OTHER_ACCESS:: URL:http://andrew2.andrew.cmu.edu/cyrus/email/email.html
LANGUAGE:: English
ABSTRACT::
Another good index site, tends to be more focussed on client side and
LAN email packages. Also lists some email services, which no one else
that I've seen appears to have taken the time to catalog.
Excellent side-by-side feature comparison of various MUAs and their
compliance with various Internet protocols.
END:: sendmail-faq//online/index/15
_________________________________________________________________
6.6 Online tutorials for sendmail
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/tutorial/9
ENTRY:: March 23, 1996
TYPE:: Online sendmail tutorial
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
REVISION:: August 29, 1998; updated URL.
TITLE:: Sendmail V8: A (Smoother) Engine Powers Network Email
AUTHOR:: Reich, Richard
CONTACT:: Richard Reich <richard@reich.com>
DATE:: February 8, 1996
COPYRIGHT:: Copyright (c) 1995 The McGraw-Hill Companies, Inc.
All Rights Reserved.
OTHER_ACCESS:: URL:http://www.networkcomputing.com/unixworld/tutorial/
008/008.txt.html
LANGUAGE:: English
NOTES:: UnixWorld Online: Tutorial: Article No. 008
ABSTRACT::
Good technical introduction. Some useful references. Notably does not
reference this FAQ as a place to get more information.
END:: sendmail-faq//online/article/9
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/tutorial/16
ENTRY:: March 23, 1996
TYPE:: Online sendmail tutorial
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
TITLE:: Sendmail -- Care and Feeding
AUTHOR:: Quinton, Reg
CONTACT:: Reg Quinton <reggers@julian.uwo.ca>
Computing and Communications Services
The University of Western Ontario
London, Ontario N6A 5B7
Canada
DATE:: March 24, 1992
OTHER_ACCESS:: URL:ftp://ftp.sterling.com/mail/sendmail/uwo-course/
sendmail.txt.Z
LANGUAGE:: English
NOTES:: Postscript version also available. See ftp://ftp.sterling.com/
mail/sendmail/uwo-course/sendmail.ps.Z
ABSTRACT::
Dated. Only here until I find better.
END:: sendmail-faq//online/tutorial/16
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/tutorial/21
ENTRY:: March 27, 1996
TYPE:: Online sendmail tutorial
REVISION:: August 29, 1998; updated URL.
TITLE:: Explosion in a Punctuation Factory
AUTHOR:: Bryan Costales
CONTACT:: Becca Thomas <editor@unixworld.com>
DATE:: January 1994
COPYRIGHT:: Copyright (c) 1995 The McGraw-Hill Companies, Inc.
All Rights Reserved.
OTHER_ACCESS:: URL:http://www.networkcomputing.com/unixworld/tutorial/
01/01.txt.html
LANGUAGE:: English
ABSTRACT::
Good introduction on how sendmail re-write rules work.
END:: sendmail-faq//online/article/21
_________________________________________________________________
6.7 Online archives of mailing lists and Usenet newsgroups, relating to
Internet email
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/archive/18
ENTRY:: March 25, 1996
TYPE:: Online Usenet newgroup archive
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
TITLE:: DejaNews
OTHER_ACCESS:: URL:http://www.dejanews.com
LANGUAGE:: English
NOTES:: Archives/indexes only Usenet news.
ABSTRACT::
The first, and still most focussed, Usenet news archive/index site.
Others archive/index news as well as other things, but none that I've
seen do it better.
Go to "Power Search" then "Query Filter" if you wish to restrict the
newsgroups you search on to something like just comp.mail.sendmail and
not all newsgroups.
END:: sendmail-faq//online/archive/18
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/archive/19
ENTRY:: March 25, 1996
TYPE:: Online Usenet newgroup archive
REVISION:: March 27, 1996; moved URL from RETRIEVAL field to
OTHER_ACCESS field.
TITLE:: AltaVista
OTHER_ACCESS:: URL:http://www.altavista.digital.com
LANGUAGE:: English
NOTES:: Archives/indexes Usenet news and World-wide web pages.
ABSTRACT::
One of the leading indexes of world-wide web pages, and their
archive/index of Usenet news is obviously secondary.
END:: sendmail-faq//online/archive/19
BIB-VERSION:: CS-TR-v2.1
ID:: sendmail-faq//online/archive/20
ENTRY:: March 16, 2001
TYPE:: Online Usenet newgroup archive
REVISION::
TITLE:: Google Advance Search
OTHER_ACCESS:: URL:http://www.google.com/advanced_search
LANGUAGE:: English
ABSTRACT::
Google has acquired DejaNews. This is the search tool for news
archive. It works very well and you can see a whole thread in one web
screen which makes it quick and easy to read responses which follow
any question.
END:: sendmail-faq//online/archive/20
sendmail.org 7. THANKS!
Special thanks to:
Eric Allman The core of the material here comes from his FAQ for
version 8.6.9 sendmail. I couldn't even have gotten started were it
not for him. And if he hadn't written sendmail, there obviously
wouldn't even be a FAQ. Heck, there might not even be an Internet.
Paul Southworth Provides FAQ posting services, useful comments on
various sections, and the mailclient-faq. I couldn't have kept doing
this were it not for his help.
Ed Ravin Virtually all the material regarding the use of sendmail on
AIX is his, and most of it has been carried over verbatim.
Thanks also to:
Neil Hoggarth, Andras Salamon, Johan Svensson, Christopher X.
Candreva, Bill Wohler, Matthew Wall, Henry W. Farkas, Claus Assmann,
Curt Sampson, Rebecca Lasher, Jim Davis, David Keegel, Betty Lee,
Alain Durand, Walter Schweizer, Christophe Wolfhugel, Al Gilman,
Valdis Kletnieks, John Gardiner Myers, Paul DuBois, Adam Bentley, Dave
Sill, Dave Wreski, Paul Caloca, Eamonn Coleman, Michael Fuhr, Betty
Lee, Derrell Lipman, Era Eriksson, Richard Troxel, and the readers and
posters of comp.mail.sendmail.
|