File: faq.html

package info (click to toggle)
getmail6 6.19.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,124 kB
  • sloc: python: 6,634; sh: 897; makefile: 73
file content (1676 lines) | stat: -rw-r--r-- 70,276 bytes parent folder | download | duplicates (2)
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!--
docs/COPYING 2a + DRY: https://github.com/getmail6/getmail6
Please refer to the git history regarding who changed what and when in this file.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="content-type" content="application/xhtml+xml;charset=iso-8859-1" />
    <title>getmail frequently-asked questions (FAQs) (version 5)</title>
    <meta name="author" content="Charles Cazabon and others" />
    <meta name="description" content="Frequently-asked questions about getmail version 5" />
    <meta name="keywords" content="getmail FAQ, getmail 6 FAQ, getmail6 FAQ, POP3, IMAP, SSL, domain mailbox, multidrop, fetchmail replacement, message filtering, maildir, mboxrd, MDA" />
    <style type="text/css" media="all">@import "getmaildocs.css";</style>
    <style type="text/css" media="all">@import "/style/styles.css";</style>
</head>
<body id="top">
    <div class="content">

<h1 id="title">getmail Frequently Asked Questions (FAQ)</h1>
<p class="about">
    getmail6 is Copyright &copy; 1998-2025 by Charles Cazabon and others:<br>
    &lt;charlesc-getmail @ pyropus.ca&gt;<br>
    &lt;roland.puntaier @ gmail.com&gt;
</p>
<p class="about">
    getmail is licensed under the
    <a href="COPYING">GNU General Public License version 2</a> (only).
</p>

<h1 id="toc">Table of Contents</h1>
<ul>
    <li><a href="documentation.html">getmail documentation</a></li>
    <li>
        <ul>
        <li><a href="documentation.html#title">getmail documentation</a></li>
        <li>
            <ul>
            <li><a href="documentation.html#features">Features</a></li>
            <li><a href="documentation.html#requirements">Requirements</a></li>
            <li><a href="documentation.html#obtaining">Obtaining getmail</a></li>
            <li><a href="documentation.html#installing">Installing getmail</a></li>
            </ul>
        </li>
        </ul>
    </li>
    <li><a href="configuration.html">getmail configuration (version 5)</a></li>
    <li>
        <ul>
        <li><a href="configuration.html#configuring">Configuring getmail</a></li>
        <li>
            <ul>
            <li><a href="configuration.html#rcfile">Creating a getmail rc file</a></li>
            </ul>
        </li>
        <li><a href="configuration.html#running">Running getmail</a></li>
        <li>
            <ul>
            <li><a href="configuration.html#running-commandline-options">Commandline options</a></li>
            <li><a href="configuration.html#running-mda">Using getmail as an MDA</a></li>
            <li><a href="configuration.html#running-fetch">Using getmail_fetch to retrieve mail from scripts</a></li>
            </ul>
        </li>
        </ul>
    </li>
    <li><a href="troubleshooting.html">getmail troubleshooting</a></li>
    <li>
        <ul>
        <li><a href="troubleshooting.html#troubleshooting">Troubleshooting problems</a></li>
        <li>
            <ul>
            <li><a href="troubleshooting.html#error-messages">Error messages</a></li>
            <li><a href="troubleshooting.html#warning-messages">Warning messages</a></li>
            <li><a href="troubleshooting.html#unexpected-behaviour">Unexpected Behaviour</a></li>
            </ul>
        </li>
        </ul>
    </li>
    <li><a href="faq.html">getmail frequently-asked questions (FAQs)</a></li>
    <li>
        <ul>
        <li><a href="faq.html#faq">Frequently-Asked Questions (FAQs)</a></li>
        <li>
            <ul>
            <li><a href="faq.html#faq-about">About getmail</a></li>
            <li>
                <ul>
                <li><a href="faq.html#faq-about-what">What is getmail?</a></li>
				<li><a href="faq.html#faq-about6">What is getmail6 and how does it relate to getmail?</a></li>
                <li><a href="faq.html#faq-about-platforms">What platforms/machines does getmail run on?</a></li>
                <li>
                    <ul>
                    <li><a href="faq.html#faq-about-platforms-windows">Does getmail run on MS Windows?</a></li>
                    <li><a href="faq.html#faq-about-platforms-mac">Does getmail run on Macintosh systems?</a></li>
                    <li><a href="faq.html#faq-about-platforms-unix">Does getmail require Unix/Linux?</a></li>
                    </ul>
                </li>
                <li><a href="faq.html#faq-about-support">How can I get support for getmail?</a></li>
                <li><a href="faq.html#faq-about-bug">I think I found a bug!  How do I report it?</a></li>
                <li><a href="faq.html#faq-about-random-feature">I have a neat idea for random feature &quot;foo&quot; &hellip; how do I get you to implement it?</a></li>
                <li><a href="faq.html#faq-about-random-feature-rejected">Why won't you implement random feature &quot;foo&quot;?</a></li>
                <li><a href="faq.html#faq-about-virus">Does getmail support virus scanning of retrieved messages?</a></li>
                <li><a href="faq.html#faq-about-spam">Does getmail support spam filtering of retrieved messages?</a></li>
                <li><a href="faq.html#faq-about-ssl">Does getmail support SSL?</a></li>
                <li><a href="faq.html#faq-about-rewrite">Does getmail rewrite mail headers when it retrieves mail?</a></li>
                <li><a href="faq.html#faq-about-oldmail">What are these oldmail* files?  Can I delete or trim them?</a></li>
                <li><a href="faq.html#faq-about-upgrade">Can I upgrade from getmail 3 to getmail 4/5?  What about my &quot;oldmail&quot; files?</a></li>
                <li><a href="faq.html#faq-about-why">Why did you write getmail?  Why not just use fetchmail?</a></li>
                </ul>
            </li>
            <li><a href="faq.html#faq-configuring">Configuring getmail</a></li>
            <li>
                <ul>
                <li><a href="faq.html#faq-configuring-domain-mailbox">What is a &quot;domain mailbox&quot;?</a></li>
                <li><a href="faq.html#faq-configuring-mta">Do I have to run sendmail or another MTA to use getmail?</a></li>
                <li><a href="faq.html#faq-configuring-root">Will getmail deliver mail as root?</a></li>
                <li><a href="faq.html#faq-configuring-maildir">What's a maildir?</a></li>
                <li><a href="faq.html#faq-configuring-mboxrd">What's &quot;mboxrd&quot; format?</a></li>
                <li><a href="faq.html#faq-configuring-envelope">What's this &quot;envelope sender&quot; and &quot;envelope recipient&quot; stuff?</a></li>
                <li>
                    <ul>
                    <li><a href="faq.html#faq-configuring-envelope-header">Message header vs. message envelope</a></li>
                    <li><a href="faq.html#faq-configuring-envelope-bcc">Receiving messages without your address in the message header</a></li>
                    <li><a href="faq.html#faq-configuring-envelope-record">Responsibility for recording the message envelope</a></li>
                    <li><a href="faq.html#faq-configuring-envelope-multidrop">How this relates to domain or multidrop mailboxes</a></li>
                    </ul>
                </li>
                <li><a href="faq.html#faq-configuring-simple">This rc stuff seems complicated.  Does it have to be?</a></li>
                </ul>
            </li>
            <li><a href="faq.html#faq-how">How do I &hellip;</a></li>
            <li>
                <ul>
                <li><a href="faq.html#faq-how-multi">How do I retrieve mail from multiple accounts?</a></li>
                <li><a href="faq.html#faq-how-filter">How do I get getmail to deliver messages to different mailboxes based on &hellip;</a></li>
                <li><a href="faq.html#faq-how-no-delivered-to">How do I stop getmail adding a Delivered-To: header to messages?</a></li>
                <li><a href="faq.html#faq-how-no-received">How do I stop getmail adding a Received: header to messages?</a></li>
                <li><a href="faq.html#faq-how-smtp">How do I make getmail deliver messages by re-injecting with SMTP?</a></li>
                <li><a href="faq.html#faq-how-create-maildir">How do I create a maildir?</a></li>
                <li><a href="faq.html#faq-how-create-mboxrd">How do I create an mboxrd file?</a></li>
                <li><a href="faq.html#faq-how-mh">How do I make getmail deliver messages to an mh folder?</a></li>
                <li><a href="faq.html#faq-how-daemon">How do I run getmail in &quot;daemon&quot; mode?</a></li>
                <li><a href="faq.html#faq-how-maxpersession">How do I make getmail stop after retrieving X messages so that the server actually flushes deleted messages?</a></li>
                <li><a href="faq.html#faq-how-hotmail">How do I make getmail retrieve mail from Hotmail?</a></li>
                <li><a href="faq.html#faq-how-to">I'm using getmail.  How do I make it &hellip;</a></li>
                <li>
                    <ul>
                    <li><a href="faq.html#faq-how-to-tempstop">I'm running getmail from cron.  How do I temporarily stop it?</a></li>
                    <li><a href="faq.html#faq-how-to-mutex">How do I stop multiple instances of getmail from running at the same time?</a></li>
                    </ul>
                </li>
                </ul>
            </li>
            <li><a href="faq.html#faq-integrating">Using getmail with other software</a></li>
            <li>
                <ul>
                <li><a href="faq.html#faq-integrating-spamassassin">How do I use SpamAssassin with getmail?</a></li>
                <li><a href="faq.html#faq-integrating-clamav">How do I use ClamAV with getmail?</a></li>
                <li>
                    <ul>
                    <li><a href="faq.html#faq-integrating-clamav-prettier">Getting prettier output from ClamAV</a></li>
                    </ul>
                </li>
                <li><a href="faq.html#faq-integrating-fprot">How do I use F-Prot with getmail?</a></li>
                <li><a href="faq.html#faq-integrating-procmail">How do I use procmail with getmail?</a></li>
                <li><a href="faq.html#faq-integrating-maildrop">How do I use maildrop with getmail?</a></li>
                <li><a href="faq.html#faq-integrating-tmda">How do I use TMDA with getmail?</a></li>
                <li>
                    <ul>
                    <li><a href="faq.html#faq-integrating-gmail">How can I get Gmail labels with getmail?</a></li>
                    </ul>
                </li>
                </ul>
            </li>
            <li><a href="faq.html#faq-notabug">I think I found this bug in getmail &hellip;</a></li>
            <li>
                <ul>
                <li><a href="faq.html#faq-notabug-gmail-bug">getmail doesn't download all my mail from Gmail &hellip;</a></li>
                <li><a href="faq.html#faq-notabug-futurewarning">FutureWarning: %u/%o/%x/%X of negative int will return a signed string in Python 2.4 and up</a></li>
                <li><a href="faq.html#faq-notabug-fsync">AttributeError: 'module' object has no attribute 'fsync'</a></li>
                <li><a href="faq.html#faq-notabug-brokenpopserver">operation error (SimplePOP3Retriever: [...] does not uniquely identify messages [...] see documentation or use BrokenUIDLPOP3Retriever instead</a></li>
                <li><a href="faq.html#faq-notabug-osx-realloc">MemoryError on OS X</a></li>
                <li><a href="faq.html#faq-notabug-memory">MemoryError when using IMAP</a></li>
                <li><a href="faq.html#faq-notabug-gmail-tls-sni">Errors connecting to Gmail with OpenSSL 1.1.1</a></li>
                </ul>
            </li>
            </ul>
        </li>
        </ul>
    </li>
</ul>


<!-- ********************************************************************** -->

<h1 id="faq">Frequently-Asked Questions (FAQs)</h1>
<p>
    The following questions about getmail have been asked more-or-less frequently.
    Please also read the
    <a href="troubleshooting.html#unexpected-behaviour">unexpected behaviour section</a>
    of the
    <a href="troubleshooting.html">troubleshooting document</a>.
</p>

<!-- ********************************************************************** -->
<h2 id="faq-about">About getmail</h2>

<h3 id="faq-about-what">What is getmail?</h3>
<p>
    getmail is a mail retriever with support for POP3, POP3-over-SSL, IMAP4,
    IMAP4-over-SSL, and SDPS mail accounts. It supports normal single-user mail
    accounts and multidrop (domain) mailboxes. getmail is written in Python, and
    licensed under the
    <a href="COPYING">GNU General Public License version 2</a>.
</p>

<h3 id="faq-about6">What is getmail6 and how does it relate to getmail?</h3>
<p>
    getmail is the name of this software and project as it was
    originally developed by Charles Cazabon. At the time of getmail
    version 5.14 getmail would not work with Python version 3 and
    newer. As support for Python 3 was not available for getmail at
    the time while many distributions were dropping support for all
    Python versions older than version 3, this fork was created.
</p>
<p>
    To avoid confusion and conflicts with Charles' project, we decided
    to call our fork getmail6 and start our version numbering from 6.
</p>
<p>
    As we intend getmail6 to be a drop-in replacement for getmail,
    names of files etc. have been kept the same as they are in getmail
    5.14 and earlier.
</p>

<h3 id="faq-about-platforms">What platforms/machines does getmail run on?</h3>
<p>
    getmail runs on basically any platform.  It's designed to, and written
    in a language that helps to maintain cross-platform compatibility.
    getmail is known to run on the following platforms:
</p>
<ul>
    <li>Linux-based GNU systems (all distributions)</li>
    <li>HURD-based GNU systems</li>
    <li>FreeBSD</li>
    <li>OpenBSD</li>
    <li>NetBSD</li>
    <li>HP/UX</li>
    <li>Sun Solaris</li>
    <li>IBM AIX</li>
    <li>Digital/Compaq Tru64 (a.k.a OSF/1) UNIX</li>
    <li>SGI Irix</li>
    <li>other commercial Unices</li>
    <li>Digital VMS / OpenVMS</li>
    <li>BeOS</li>
    <li>Amiga OS</li>
    <li>OS/2</li>
    <li>Cygwin on Windows</li>
    <li>Macintosh OS X</li>
    <li>Macintosh OS 9</li>
</ul>
<p>
    But getmail will also run on other, less common platforms.  The only real
    requirement is that Python run on that platform, and porting Python is
    generally very easy.
</p>

<h4 id="faq-about-platforms-windows">Does getmail run on MS Windows?</h4>
<p>
    Yes, under the free <a href="http://cygwin.com/">Cygwin</a> package.
    Running recent versions of Python under Cygwin requires a process known
    as &quot;rebasing&quot; your Cygwin installation; you can find details
    in
    <a href="http://mail.python.org/pipermail/python-dev/2003-July/036932.html">this Python developers' mailing list message</a>.
</p>

<h4 id="faq-about-platforms-mac">Does getmail run on Macintosh systems?</h4>
<p>
    <a href="#faq-about-platforms">Yes.</a>
</p>

<h4 id="faq-about-platforms-unix">Does getmail require Unix/Linux?</h4>
<p>
    <a href="#faq-about-platforms">No.</a>
</p>

<h3 id="faq-about-support">How can I get support for getmail?</h3>
<p>
    getmail is
    <a href="http://www.fsf.org/">Free Software</a>.
    As such, it comes with no warranty.  However, we will do our best to support
    getmail on a voluntary basis through our 
    <a href="https://github.com/getmail6/getmail6/issues">GitHub repository</a>.
</p>
<p>
    If you have questions about getmail, the first step is to read the
    <a href="documentation.html">documentation</a>, and the remainder
    of the Frequently Asked Questions. If your question isn't answered
    there, please open an issue on GitHub. If you post your question
    there, we will see it.
</p>

<h3 id="faq-about-bug">I think I found a bug!  How do I report it?</h3>
<p class="important">
    First, make sure that you are running the latest version.  You can always
    find what is the latest version by checking this page at the original
    web site:
    <br />
    <a href="http://getmail6.org/">http://getmail6.org/</a>.  <br />
    If you are running an older version of the software, chances are
    whatever bug you may have found has already been fixed.
</p>
<p>
    After this, please
    check <a href="https://github.com/getmail6/getmail6/issues">our
    repository on GitHub</a> to see if this issue has already been
    reported.  If not, feel free to open an issue to report your bug.
    You should include at least the following information:
</p>
<ul>
    <li>getmail version</li>
    <li>Python version</li>
    <li>any error message which getmail displayed</li>
    <li>
        the output from running getmail with your normal options plus
        <span class="sample">--dump</span>
    </li>
    <li>
        if your problem is getmail not determining the proper local recipient,
        please include the output of running getmail with your normal options
        plus
        <span class="sample">--trace</span>,
        showing the retrieval of
        <strong>one</strong>
        problematic message.
    </li>
</ul>
<p>
    If your bugreport contains confidential information, please
    exclude this from your report.
</p>

<h3 id="faq-about-random-feature">I have a neat idea for random feature &quot;foo&quot; &hellip; how do I get you to implement it?</h3>
<p>
    Follow the same instructions as for reporting bugs above &mdash;
    yes, that means we would prefer you submit your idea as an issue in
    our repository allowing other users to also comment on it which
    may lead to a useful discussion if your feature has not been
    proposed before.
</p>

<h3 id="faq-about-random-feature-rejected">Why won't you implement random feature &quot;foo&quot;?</h3>
<p>
    Every line of code added to getmail has a certain cost.  Every feature
    added requires code, documentation, and support.  Adding features increases
    the complexity of the software, confuses users, and leads to higher support
    costs.  We therefore weigh features very carefully as a cost-versus-benefit
    tradeoff before deciding whether to add them.
</p>
<p>
    Some users are confused by this.  They think that a feature you don't use
    has no cost, and therefore if it has any value to anyone, it should be
    added.  That simply isn't the case; the costs of an unused feature are
    simply borne by others, including us.
</p>
<p>
    If you have asked me to add some feature, and we've said no, this may be
    the reason.  Other possibilities include us simply not having had sufficient
    time to implement it yet.
</p>

<h3 id="faq-about-virus">Does getmail support virus scanning of retrieved messages?</h3>
<p>
    Yes.  You can use getmail message filtering options to do this with an
    external virus scanning program, or invoke your virus scanning program
    during delivery with getmail's support for external MDAs.
</p>
<p>
    Also see the FAQ about
    <a href="#faq-integrating-clamav">using getmail with the ClamAV program</a>.
</p>

<h3 id="faq-about-spam">Does getmail support spam filtering of retrieved messages?</h3>
<p>
    Yes.  You can use getmail message filtering options to do this with an
    external spam filtering program, or invoke your spam filtering program
    during delivery with getmail's support for external MDAs.
</p>
<p>
    Also see the FAQ about
    <a href="#faq-integrating-spamassassin">using getmail with the SpamAssassin program</a>.
</p>

<h3 id="faq-about-ssl">Does getmail support SSL?</h3>
<p>
    Yes.  getmail has built in support for POP3-over-SSL and IMAP4-over-SSL.
</p>

<h3 id="faq-about-rewrite">Does getmail rewrite mail headers when it retrieves mail?</h3>
<p>
    No.  Rewriting message header fields is bad for many reasons; the biggest
    problem is that it causes a loss of critical technical information necessary
    to track down many mail problems.  getmail will add a new
    <span class="file">Received:</span>
    header field and a new
    <span class="file">Delivered-To:</span>
    header field, but does not rewrite existing headers.  You can disable the
    creation of these header fields.
</p>

<h3 id="faq-about-oldmail">What are these oldmail* files?  Can I delete or trim them?</h3>
<p>
    getmail stores &quote;&lt;msgid&gt;&#92;0&lt;timestamp&gt;&quote; of messages it has seen in your
    POP/IMAP account in the oldmail files.
</p>
<p>
    <b>Do NOT delete or edit these files.</b>  You'll make getmail re-retrieve all
    your old mail, or even prevent getmail from running.  The files are tiny by modern
    storage standards; you could have a million of these files and still not have to
    worry about the disk space they take up for a thousand years.
</p>


<h3 id="faq-about-why">Why did you write getmail?  Why not just use fetchmail?</h3>
<p>
    The below text is by Charles Cazabon, getmail's original author:
</p>
<p>
    Short answer:  &hellip; well, the short answer is mostly unprintable.
    The long answer is &hellip; well, long:
</p>
<p>
    I do not like some of the design choices which were made with fetchmail.
    getmail does things a little differently, and for my purposes, better. In
    addition, most people find getmail easier to configure and use than
    fetchmail.  Perhaps most importantly, getmail goes to great lengths to
    ensure that mail is never lost, while fetchmail (in its default
    configuration) frequently loses mail, causes mail loops, bounces legitimate
    messages, and causes many other problems.
</p>
<p>
    When people have pointed out problems in fetchmail's design and
    implementation, it's maintainer has frequently ignored them, or (worse yet)
    gone in the completely wrong direction in the name of &quot;fixing&quot; the
    problems.  For instance, fetchmail's configuration file syntax has been
    criticized as being needlessly difficult to write; instead of cleaning up
    the syntax, the maintainer instead included a GUI configuration-file-writing
    program, leading to
    <a href="http://www.crackmonkey.org/pipermail/crackmonkey/2003q3/037098.html">comments</a>
    like:
</p>
<blockquote cite="http://www.crackmonkey.org/pipermail/crackmonkey/2003q3/037098.html">
    <p>
        The punchline is that fetchmail sucks, even if it does have
        giddily-engineered whizbang configurator apps.
    </p>
</blockquote>
<p>
    As an example,
    <a href="http://cr.yp.to/djb.html">Dan Bernstein</a>,
    author of
    <a href="http://cr.yp.to/qmail.html">qmail</a>
    and
    <a href="http://cr.yp.to/software.html">other software packages</a>,
    once noted to the qmail list:
</p>
<blockquote cite="http://www.mail-archive.com/qmail@id.wustl.edu/msg06997.html">
    <p>
        Last night, root@xxxxxxxxxxxxxxxxx reinjected thirty old messages from
        various authors to qmail@xxxxxxxxxxxxxx
    </p>
    <p>
        This sort of idiocy happens much more often than most subscribers know,
        thanks to a broken piece of software by Eric Raymond called fetchmail.
        Fortunately, qmail and ezmlm have loop-prevention mechanisms that stop
        these messages before they are distributed to subscribers. The messages
        end up bouncing to the wrong place, thanks to another fetchmail bug, but
        at least the mailing list is protected.
    </p>
    <p>
          --D. J. Bernstein
    </p>
</blockquote>
<p>
    The maintainer also ignored dozens of complaints about fetchmail's
    behaviour, stating (by fiat) that fetchmail was bug-free and had entered
    &quot;maintenance mode&quot;, allowing him to ignore further bug reports.
</p>
<p>
    fetchmail's default configuration values frequently cause lost or
    misdirected mail, and seem to be chosen to cause maximum pain and
    inconvenience.  From fetchmail's to-do file (emphasis mine):
</p>
<blockquote>
    <p>
        <em>Maybe</em> refuse multidrop configuration unless
        &quot;envelope&quot; is _explicitly_ configured
        &hellip;
        This would prevent a significant class of shoot-self-in-foot
        problems.
    </p>
    <p>
        <em>perhaps</em> treat a delivery as &quot;temporarily failed&quot;
        &hellip;
        This is so you don't lose mail if you configure the wrong envelope
        header.
    </p>
</blockquote>
<p>
    fetchmail is famous for mangling messages it retrieves, rather than
    leaving them alone as a mail-handling program should.  getmail will add
    trace information to messages (so you can see what happened, and when),
    but will otherwise leave message content alone.
</p>
<p>
    In addition, fetchmail has a long history of security problems:
</p>
<ul>
    <li>
        versions released before 20 June 2001 contain a buffer overflow, which
        can be remotely exploited (see
        <a href="http://www.securityfocus.com/bid/2877">www.securityfocus.com/bid/2877</a>
        for details).  getmail is not vulnerable to buffer overflows, because
        buffers in Python are dynamically sized.
    </li>
    <li>
        Another remotely-exploitable security hole discovered in fetchmail in June 2002;
        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-0146">
            versions prior to 5.9.10 (released in June 2002) are exploitable
        </a>.
    </li>
    <li>
        Reading fetchmail's UPDATES file, it appears that another security
        problem was fixed in 5.9.12, where a server could crash fetchmail on
        64-bit platforms.  Also worrying is a mention that it includes a fix for
        &quot;password shrouding&quot;.
    </li>
    <li>
        Another remotely-exploitable security hole in fetchmail discovered in
        September 2002;
        <a href="http://security.e-matters.de/advisories/032002.html">
            this hole
        </a>
        lets an attacker run arbitrary code on the victim's computer.
    </li>
    <li>
        Another remotely-exploitable security hole in fetchmail discovered in
        December 2002; once again, a remote attacker can run arbitrary code on
        the machine running fetchmail in its default configuration.  See
        <a href="http://security.e-matters.de/advisories/052002.html">
            this advisory
        </a>
        for details.
    </li>
    <li>
        January 2003:
        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCAN-2002-1365">
            More buffer overflows in fetchmail let attackers run arbitrary code
        </a>.
    </li>
    <li>
        October 2003:
        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0792">
            Anyone can cause fetchmail to crash by sending you a message
        </a>.
        Other problems are
        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0790">
            here
        </a>,
        and
        <a href="http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=fetchmail">
            I might have missed some
        </a>.
    </li>
    <li>
        Just in case you thought fetchmail was all better now, there's still
    new security problems being discovered in it.  In December, 2005,
    it was revealed that
    <a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-4348">anyone can send a fetchmail multidrop user a message that causes fetchmail to crash</a>.
    </li>
</ul>
<p>
    In July, 2004, it was noted that there may be at least 2 unfixed denial-of-service attacks,
    2 unfixed remote-code-execution, 2 unfixed remote-user-access, and 3 unfixed
    remote-shell attacks against fetchmail.  See
    <a href="http://www.mail-archive.com/euglug@euglug.org/msg00971.html">http://www.mail-archive.com/euglug@euglug.org/msg00971.html</a>
    for details
</p>
<p>
    I've given up even trying to stay abreast of the various security holes in
    fetchmail, but others have noted continuing problems, including:
</p>
<ul>
    <li>
        <a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2335">another
        arbitrary code execution vulnerability</a>
        announced on 21 July 2005.
    </li>
</ul>
<p>
    The fetchmail authors' boneheaded decision to create a configuration-file
    GUI editor (rather than actually giving fetchmail a sane configuration
    syntax) also came back to bite them in the ass:  in October 2005, it
    became known that fetchmailconf created its files in such a way that
    <a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3088">users' passwords could be read</a> during file creation.
</p>
<p>
    Addendum, January 2007: since I wrote the above, the following new security
    problems have been discovered in fetchmail:
</p>
<ul>
    <li><a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-4348">CVE-2005-4348</a> - anyone can crash fetchmail by sending messages without headers</li>
    <li><a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0321">CVE-2006-0321</a> - anyone can crash fetchmail by sending a message that fetchmail tries to bounce</li>
    <li><a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5867">CVE-2006-5867</a> - fetchmail can transmit passwords in plaintext even if the user has configured it not to</li>
    <li><a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5974">CVE-2006-5974</a> - anyone can cause fetchmail to crash by triggering certain error code paths</li>
</ul>
<p>
    But don't just take my word for it; see
    <a href="http://docs.freebsd.org/cgi/mid.cgi?200102172349.QAA11724">
        http://docs.freebsd.org/cgi/mid.cgi?200102172349.QAA11724
    </a>
    and
    <a href="http://web.archive.org/web/20080621090439/http://esr.1accesshost.com/">http://esr.1accesshost.com/</a> (note:
    went offline sometime in 2009 or 2010; the content is still available at
    http://web.archive.org/web/20080621090439/http://esr.1accesshost.com/ ).
</p>
<p>
    getmail users have not had to worry about any of these security holes or
    design and implementation errors.
</p>

<!-- ********************************************************************** -->
<h2 id="faq-configuring">Configuring getmail</h2>

<h3 id="faq-configuring-domain-mailbox">What is a &quot;domain mailbox&quot;?</h3>
<p>
    A domain (or multidrop) mailbox is a POP3 mailbox which receives mail for
    all users in a given domain.  Normal mailboxes contain mail for a single
    user (like
    <span class="file">jason@myisp.co.uk</span>);
    some Internet Service Providers which provide webhosting or other services
    will provide a POP3 mailbox which receives mail for all addresses in a given
    domain (i.e. mail for
    <span class="file">service@smallcompany.net</span>,
    <span class="file">sales@smallcompany.net</span>,
    and indeed anything
    <span class="file">@smallcompany.net</span>
    ends up in the same POP3 mailbox).
</p>
<p>
    getmail provides a method of retrieving mail from a domain mailbox and
    distributing it among the various users automatically.  The retriever
    classes
    <a href="configuration.html#retriever-multidroppop3">MultidropPOP3Retriever</a>,
    <a href="configuration.html#retriever-multidroppop3ssl">MultidropPOP3SSLRetriever</a>,
    <a href="configuration.html#retriever-multidropsdps">MultidropSDPSRetriever</a>,
    <a href="configuration.html#retriever-multidropimap">MultidropIMAPRetriever</a>,
    and
    <a href="configuration.html#retriever-multidropimapssl">MultidropIMAPSSLRetriever</a>
    provide this capability.
</p>
<p>
    See the
    <a href="configuration.html#conf-retriever-multidrop">documentation on the
        <span class="file">[retriever]</span>
    section</a>
    for details of what the requirements for a multidrop mailbox are.
    getmail user Matthias Andree also has a
    <a href="http://www.dt.e-technik.uni-dortmund.de/~ma/mail/multidrop">web page about multidrop mailboxes</a>.
</p>

<h3 id="faq-configuring-mta">Do I have to run sendmail or another MTA to use getmail?</h3>
<p>
    No.  getmail delivers directly to maildirs, mboxrd files, or via arbitrary
    MDAs, and never injects mail via SMTP, so no MTA is necessary.
</p>

<h3 id="faq-configuring-root">Will getmail deliver mail as root?</h3>
<p>
    No.  When run as the root user on a Unix-like system, getmail drops
    privileges (switches to an unprivileged group and user id) before delivering
    to maildirs or mboxrd files.  You can specify the user explicitly, or
    let getmail use the owner of the maildir or mboxrd file.
</p>
<p>
    If getmail attempts to deliver mail and finds it has UID 0 or GID 0, it
    will refuse the delivery and print an error message.
</p>

<h3 id="faq-configuring-maildir">What's a maildir?</h3>
<p>
    A maildir is a mail storage format invented by D. J. Bernstein (author of
    qmail) that requires no file locking to deliver to safely and reliably, even
    over NFS.  getmail natively supports delivery to maildirs.
</p>
<p>
    See
    <a href="http://qmail.org/man/man5/maildir.html">http://qmail.org/man/man5/maildir.html</a>
    and
    <a href="http://cr.yp.to/proto/maildir.html">http://cr.yp.to/proto/maildir.html</a>
    for details.
</p>

<h3 id="faq-configuring-mboxrd">What's &quot;mboxrd&quot; format?</h3>
<p>
    There are various sub-types of the mbox mail storage format.  mboxrd is
    the most reliable of them, though (like all mbox types) it still relies
    on file locking and is therefore more easily corrupted than maildir format.
    In particular, using mbox files with multiple writers over NFS can be
    problematic.
</p>
<p>
    For details on the differences between the various mbox sub-types, see
    <a href="http://qmail.org/man/man5/mbox.html">http://qmail.org/man/man5/mbox.html</a>.
</p>

<h3 id="faq-configuring-envelope">What's this &quot;envelope sender&quot; and &quot;envelope recipient&quot; stuff?</h3>
<p>
    The &quot;envelope&quot; of an email message is &quot;message
    metadata&quot;; that is, the message is information, and the envelope is
    information about the message (information about other information).
    Knowing this is critical to understanding what a domain or multidrop mailbox
    is, how it works, and what getmail can do for you.
</p>
<p>
    <a href="http://cr.yp.to/smtp/mail.html">Others have tried to explain this</a>
    with varying degrees of success.  I'll use the standard analogy of normal
    postal (i.e. non-electronic) mail:
</p>
<h4 id="faq-configuring-envelope-header">Message header vs. message envelope</h4>
<p>
    When you receive a letter (a reply from the customer-disservice department
    of your telephone company, say) it arrives in an envelope.  You tear it
    open, remove the letter, and read it.  At the top of the letter is the
    telephone company's return address, followed by the date the letter was
    written.  Your name and mailing address follow that, and then the remainder
    of the letter.
</p>
<p>
    The important thing to keep in mind is that the contents of the letter
    (including the addresses just discussed) are never looked at by the post
    office.  If they can't deliver the letter (your mailing address on the
    envelope got smudged in the rain), they'll return it to the address listed
    in the top-left corner of the envelope.  They don't check to make sure that
    the address listed there is the same as the one listed at the top of the
    letter. Similarly, when they can successfully deliver it, they don't check
    to make sure that the recipient name and address on the envelope matches the
    one listed on the letter between the date and the salutation.
</p>
<p>
    The message header fields
    <span class="file">From:</span>
    and
    <span class="file">Resent-from:</span>
    are equivalent to the block of address information at the top of the letter;
    it usually contains the name and address of the sender of the message,
    but it is never actually used in the delivery of the message.
    Similarly, the
    <span class="file">To:</span>,
    <span class="file">cc:</span>,
    <span class="file">Resent-to:</span>,
    <span class="file">and Resent-cc:</span>
    header fields are the equivalent of the block of address information between
    the date and the salutation on the letter; they usually contain the names
    and addresses of the intended recipients of the message, but they too are
    not used in the delivery of the message.
</p>
<h4 id="faq-configuring-envelope-bcc">Receiving messages without your address in the message header</h4>
<p>
    You might open an envelope addressed to you and find that the letter inside
    makes no mention of your name.  Your name and address don't appear anywhere
    in the letter, but it was still successfully delivered to you based on the
    envelope information.  There's nothing strange about this.  If someone else
    opens your mail for you, discards the envelopes, and places the contents
    in your in-basket, you might wonder how some of it ended up there, because
    there's nothing to connect you with the message contents.
</p>
<p>
    Email is exactly like this.  Each message has two parts, the message
    contents, and the message envelope.  The message contents include the
    message header, and the message body.  The message envelope is made up of
    exactly one envelope sender address (which can be empty) and one or more
    envelope recipient addresses.  If the message cannot be delivered for any
    reason, and the envelope sender address is
    <strong>not</strong>
    empty, the message
    <strong>must</strong>
    be returned to the envelope sender address by the mail transfer agent (MTA)
    which last accepted responsibility for delivering the message.
    These notifications are known as &quot;bounce messages&quot; or
    sometimes as &quot;non-delivery notifications&quot;.  Bounce messages are
    sent using the empty envelope return path, to prevent mail loops from
    occurring when a bounce message itself cannot be delivered.
</p>
<p>
    Confusion often arises among novice users about the difference between the
    message header and the message envelope; they seem to believe that they
    are not independent.  This appears to be an artifact of their use of
    simple-minded GUI mail user agents (MUAs) that do not allow them to set
    the envelopes of their messages explicitly, but instead simply use the
    contents of the From: header field as the envelope sender address, and
    any addresses found in
    <span class="file">To:</span>,
    <span class="file">cc:</span>,
    and
    <span class="file">bcc:</span>
    header fields as the envelope recipient addresses.  While these are
    sensible
    <em>as default values</em>,
    more powerful MUAs allow the user to override this choice.
</p>
<h4 id="faq-configuring-envelope-record">Responsibility for recording the message envelope</h4>
<p>
    The last MTA to receive a message (usually the one running on the POP or
    IMAP server where you retrieve your mail from) essentially acts as your
    correspondence secretary, accepting your mail from the postman, opening it,
    and placing it into your in-basket.  Note that this would normally destroy
    the important information contained in the message envelope.  To prevent
    this loss of information, this MTA is supposed to copy the information from
    the envelope into new fields in the header of the message content, as if
    your secretrary copied the sender and recipient addresses onto the back of
    your letters in felt pen.  Unfortunately, some MTAs do not always do this
    properly, and envelope information can then be lost.  When this happens,
    it makes dealing with certain types of mail messages problematic:
</p>
<ul>
    <li>
        bcc'd messages (bcc stands for blind carbon copy), where you are an
        envelope recipient, but your address does not appear in the message
        content (i.e., your address does not appear in a
        <span class="file">To:</span>,
        <span class="file">cc:</span>,
        or similar message header field).  With bcc'd messages, the
        <span class="file">From:</span>
        header field contains the name and address of the author of the message,
        and the
        <span class="file">To:</span>
        and
        <span class="file">cc:</span>
        header fields contain the names and addresses of the other, non-blind
        recipients of the message.
    </li>
    <li>
        mailing list messages, where you are an envelope recipient, but your
        address does not appear in the message content (i.e., your address does
        not appear in a
        <span class="file">To:</span>,
        <span class="file">cc:</span>,
        or similar message header field).  Mailing list messages have the
        envelope sender address set to the mailing list manager (so that it
        can monitor &quot;bad&quot; list addresses for bounces), while the
        <span class="file">From:</span>
        header field contains the name and address of the author of the
        message.  The envelope recipient addresses of mailing list messages
        are the addresses of the list subscribers, while the
        <span class="file">To:</span>
        header field usually contains the address of the mailing list.
    </li>
    <li>
        other, less common cases.
    </li>
</ul>
<p>
    MTAs are supposed to record the envelope sender address by placing it into a
    new
    <span class="file">Return-Path:</span>
    header field at the top of the message.  They should then record the
    envelope recipient address(es) in another new header field; sometimes this
    header field is named
    <span class="file">Delivered-To:</span>,
    but it can also be
    <span class="file">Envelope-To:</span>
    or one of a few other names.
</p>
<h4 id="faq-configuring-envelope-multidrop">How this relates to domain or multidrop mailboxes</h4>
<p>
    A domain or multidrop mailbox is one which receives mail for multiple email
    addresses (commonly all addresses in a given domain).  If you do not want
    all of this mail to go to one person, you need to know who the messages
    were originally addressed to after retrieving them from the POP/IMAP
    multidrop mailbox.  You
    <strong>cannot</strong>
    do this by looking at the
    <span class="file">To:</span>,
    <span class="file">cc:</span>,
    or other informational message header fields, because they do not actually
    reflect the message envelope at the time of delivery.  Instead, you have
    to reconstruct the envelope information from the message header fields
    which the MTA on the server used to record it at the time of delivery.
</p>
<p>
    If the final MTA does not record the message envelope (the envelope sender,
    and all envelope recipient addresses in the domain mailbox the message was
    sent to), then
    <em>mail will be lost or misdirected
    <strong>regardless</strong>
    of which software you use to access the mailbox</em>.
    The mailbox cannot actually be said to be a domain mailbox in this case; the
    defining characteristic of a domain mailbox is that it records the envelope
    correctly. The configuration of the MTA running on the server needs to be
    fixed so that the envelope is properly recorded for every message it
    receives.
</p>

<h3 id="faq-configuring-simple">This rc stuff seems complicated.  Does it have to be?</h3>
<p>
    The configuration file format is actually very simple; you don't need
    to worry about most of it if you're not interested in using those features.
    The simplest and most common getmail rc file configuration will be for
    users who want to retrieve all mail from a single-user POP3 mailbox,
    deliver those messages to a maildir or mbox file, and delete the mail from
    the server.  For maildir, that configuration is:
</p>
<pre class="example">
[options]
delete = True

[retriever]
type = SimplePOP3Retriever
server = my-pop3-servername
username = my-pop3-username
password = my-pop3-password

[destination]
type = Maildir
path = ~/Maildir/
</pre>
<p>
    For an mbox file, that configuration is:
</p>
<pre class="example">
[options]
delete = True

[retriever]
type = SimplePOP3Retriever
server = my-pop3-servername
username = my-pop3-username
password = my-pop3-password

[destination]
type = Mboxrd
path = ~/inbox
</pre>

<!-- ********************************************************************** -->
<h2 id="faq-how">How do I &hellip;</h2>

<h3 id="faq-how-multi">How do I retrieve mail from multiple accounts?</h3>
<p>
    Create a separate getmail rc file for each account, and run getmail with
    multiple
    <span class="file">--rcfile</span>
    options.
</p>
<p>
    Of course, it's really easy to script this for a large number of
    <span class="file">rc-*</span>
    files.  You might create a script in
    <span class="file">$HOME/bin/run-getmail.sh</span>
    containing:
</p>
<pre class="example">
#!/bin/sh
set -e
cd /path/to/my-rc-directory
rcfiles=""
for file in rc-* ; do
  rcfiles="$rcfiles --rcfile $file"
done
exec /path/to/getmail $rcfiles $@
</pre>
<p>
    See any beginner's tutorial on Unix shell scripting for details.
    Note: Since getmail 6.16 <pre>getmails</pre> scans <pre>$XDG_CONFIG_HOME/getmail/</pre>
    for configuration files. See <pre>man getmails</pre>.
</p>

<h3 id="faq-how-filter">How do I get getmail to deliver messages to different mailboxes based on &hellip;</h3>
<p>
    If you want getmail to sort messages based on who they're from, or what address appears in the
    <span class="file">To:</span>
    or
    <span class="file">cc:</span>
    header fields, or based on the
    <span class="file">Subject:</span>
    field contents, or anything like that, pick a filtering MDA
    (like maildrop or procmail), and call it from a getmail
    <a href="configuration.html#destination-mdaexternal"><span class="file">MDA_external</span></a>
    destination.
</p>

<h3 id="faq-how-no-delivered-to">How do I stop getmail adding a Delivered-To: header to messages?</h3>
<p>
    Use the
    <a href="configuration.html#conf-options">delivered_to</a>
    <span class="file">[options]</span>
    parameter.
</p>

<h3 id="faq-how-no-received">How do I stop getmail adding a Received: header to messages?</h3>
<p>
    Use the
    <a href="configuration.html#conf-options">received</a>
    <span class="file">[options]</span>
    parameter.
</p>

<h3 id="faq-how-smtp">How do I make getmail deliver messages by re-injecting with SMTP?</h3>
<p>
    You don't need to.  getmail can deliver to maildirs, mboxrd files, or
    through arbitrary external MDAs.
</p>
<p>
    If you still think you need to, you can use getmail's
    <a href="configuration.html#destination-mdaexternal">external MDA support</a>
    to do so.
</p>

<h3 id="faq-how-create-maildir">How do I create a maildir?</h3>
<p>
    Use the
    <span class="file">maildirmake</span>
    command, if you have it installed.  Otherwise, run the following command
    from your shell:
</p>
<pre class="example">
$ mkdir -p /path/to/Maildir/{cur,new,tmp}
</pre>
<p>
    Some other maildir-aware programs ship with their own maildir-creation
    programs; you can use those, or make the above shell command a shellscript
    or alias if you like.
</p>

<h3 id="faq-how-create-mboxrd">How do I create an mboxrd file?</h3>
<p>
    Create a completely empty (i.e. zero bytes long) file via your favourite
    method.  The standard utility
    <span class="file">touch</span>
    is commonly used:
</p>
<pre class="example">
$ touch /path/to/mboxrd
</pre>

<h3 id="faq-how-mh">How do I make getmail deliver messages to an mh folder?</h3>
<p>
    <a href="http://www.ics.uci.edu/~mh/">mh</a>
    clients (and
    <a href="http://www.nongnu.org/nmh/">nmh</a>,
    or &quot;new mh&quot; clients)
    include a command for delivering a message into your mh folder.  In nmh,
    this command is called
    <span class="file">rcvstore</span>.
    You use it as an external message delivery agent (MDA) with getmail's
    <a href="configuration.html#destination-mdaexternal">MDA_external</a>
    destination.  Ensure your
    <span class="file">$HOME/.mh_profile</span>
    file is configured properly; getmail user Frankye Fattarelli suggests a
    line like the following is necessary to indicate the path to your mh
    mail root:
</p>
<pre class="example">
Path: Mail
</pre>
<p>
    Then use MDA_external like this (which, after adjusting the path of the
    command to reflect your mh/nmh installation, should work with either mh or
    nmh):
</p>
<pre class="example">
[destination]
type = MDA_external
path = /usr/local/libexec/nmh/rcvstore
arguments = (&quot;+inbox&quot;, )
</pre>
<p>
    Thanks to Frankye Fattarelli for contributing this answer.
</p>

<h3 id="faq-how-daemon">How do I run getmail in &quot;daemon&quot; mode?</h3>
<p>
    getmail does not have, and does not need, any special &quot;daemon mode&quot;.
    You just run getmail under whatever process-supervision or periodic-job
    system you already have on your system.
</p>
<p>
    For example, if you use daemontools/svscan/supervise, you can configure a getmail
    &quot;service&quot; using a simple run script like:
</p>
<pre class="example">
#!/bin/sh

/path/to/getmail [options]
sleep 1800
</pre>
<p>
    That example would run getmail continuously, sleeping for 30 minutes between
    runs.  You can probably work out similar scripts for other process-supervision
    systems.
</p>
<p>
    If you don't have such a system, you can use your system's cron utility to run getmail
    periodically, but you absolutely have to prevent multiple copies of getmail from being
    run by cron simultaneously.  Most versions of cron have no protection for this built-in,
    so you have to use setlock or flock or a similar utility to prevent it.  For more
    details, see <a href="#faq-how-to-mutex">How do I stop multiple instances of getmail from running at the same time?</a>
    below.  <b>If you do not prevent multiple copies of getmail running against the same server
    (and IMAP folder) simultaneously, you will get odd behaviour, including retrieving
    the same messages multiple times.</b>
</p>

<h3 id="faq-how-maxpersession">How do I make getmail stop after retrieving X messages so that the server actually flushes deleted messages?</h3>
<p>
    Use the
    <a href="configuration.html#conf-options"><span class="file">max_messages_per_session</span></a>
    option to limit the number of messages getmail will process in a single
    session.  Some users with flaky servers use this option to reduce the
    chances of seeing messages more than once if the server dies in mid-session.
</p>

<h3 id="faq-how-hotmail">How do I make getmail retrieve mail from Hotmail?</h3>
<p>
    Well, you could write a retriever that speaks Hotmail's proprietary,
    undocumented, and unsupported access protocol,
    or simply set up the POP3 proxy from the
    <a href="http://httpmail.sourceforge.net/">httpmail</a>
    package, and have getmail retrieve mail from that POP3 proxy.
</p>

<h3 id="faq-how-to">I'm using getmail.  How do I make it &hellip;</h3>
<p>
    These are supplementary questions I occasionally see about doing various
    things to enhance a
    <span class="file">getmail</span>
    setup.  The solution to many of them is to use a standard Unix technique
    of some sort to make the system behave in a certain manner, or otherwise
    change the behaviour of something that's actually outside of
    <span class="file">getmail</span>
    proper.
</p>

<h4 id="faq-how-to-tempstop">I'm running getmail from cron.  How do I temporarily stop it?</h4>
<p>
    Some people ask about temporarily stopping
    <span class="file">getmail</span>
    from running from a
    <span class="file">cron</span>
    job, possibly because the mail server is down and they don't want to see
    the warnings
    <span class="file">cron</span>
    mails them.
</p>
<p>
    The easiest method is to comment out
    <span class="file">getmail</span>
    from your
    <span class="file">crontab</span>
    file:
</p>
<ol>
    <li>
        Run
        <pre class="example">$ crontab -e</pre>
        to edit your
        <span class="file">crontab</span>
        file.
    </li>
    <li>
        Place a # (pound) character at the start of the line containing the call
        to
        <span class="file">getmail</span>.
    </li>
    <li>
        Save the changed file.
    </li>
</ol>
<p>
    When you want to re-enable getmail, edit the file again and un-do the
    above change.
</p>
<p>
    If you need to do this on a regular basis, you can instead use a
    &quot;flag file&quot; to tell the system whether or not to run
    <span class="file">getmail</span>:
</p>
<p>
    Change your
    <span class="file">cron</span>
    job or shellscript that normally launches
    <span class="file">getmail</span>
    to check for the presence of a certain file first, and have it not run
    <span class="file">getmail</span>
    if that file is present.  For example, your
    <span class="file">crontab</span>
    entry could be changed to do this:
</p>
<pre class="example">
    [ -f ~/.getmail/do-not-run ] || /path/to/getmail
</pre>
<p>
    When you don't want getmail to run,
    <span class="file">touch</span>
    that file:
</p>
<pre class="example">
    $ touch ~/.getmail/do-not-run
</pre>
<p>
    When you want getmail to run again, delete it:
</p>
<pre class="example">
    $ rm -f ~/.getmail/do-not-run
</pre>
<p>
    This is even safe for scripting, as creating and removing the file are
    atomic operations under Unix.
</p>

<h4 id="faq-how-to-mutex">How do I stop multiple instances of getmail from running at the same time?</h4>
<p>
    getmail has no problems running multiple instances in parallel, though you
    shouldn't attempt to use the same getmail rc file from two different
    instances at the same time; it will probably cause getmail to deliver duplicate
    copies of messages, &quot;forget&quot; that it has seen particular messages before,
    and other similar problems.
</p>
<p>
    In particular, if you're running getmail from a crontab, you <strong>must</strong> do
    something to prevent cron from starting getmail if the previous invocation is still
    running.
</p>
<p>
    If you need to prevent two instances of getmail from running simultaneously, use
    any standard Unix method of providing a mutex for this purpose.  One example would
    be to run getmail under a program like
    <span class="file">setlock</span>
    (part of the
    <a href="http://cr.yp.to/daemontools.html"><span class="file">daemontools</span></a>
    package).  Change your script or
    <span class="file">crontab</span>
    file to invoke getmail like this:
</p>
<pre class="example">
/path/to/setlock -n /path/to/lockfile /path/to/getmail [getmail options]
</pre>
<p>
    There are other programs that provide functionality similar to
    <span class="file">setlock</span>.
</p>

<!-- ********************************************************************** -->
<h2 id="faq-integrating">Using getmail with other software</h2>
<p>
    getmail user Frankye Fattarelli contributed to the following questions
    about integrating getmail with SpamAssassin and ClamAV.
</p>

<h3 id="faq-integrating-spamassassin">How do I use SpamAssassin with getmail?</h3>
<p>
    <a href="http://useast.spamassassin.org/index.html">SpamAssassin</a>
    can be run in standalone mode or in a client/server configuration.
    In both configurations, SpamAssassin accepts a wide variety of arguments;
    please refer to SpamAssassin's manual pages or
    <a href="http://useast.spamassassin.org/doc.html">online documentation</a>
    for details.
</p>
<p>
    To filter messages through SpamAssassin in a client/server configuration
    (i.e. with the
    <span class="file">spamd</span>
    daemon), use a configuration like this:
</p>
<pre class="example">
[filter]
type = Filter_external
path = /usr/local/bin/spamc
arguments = (&quot;-s&quot;, &quot;10000&quot;)
</pre>
<p>
    The value supplied to the
    <span class="file">-s</span>
    option is the maximum message size accepted (in bytes).  The default
    is 250k.
</p>
<p>
    A similar configuration without the
    <span class="file">spamd</span>
    daemon would be:
</p>
<pre class="example">
[filter]
type = Filter_external
path = /usr/local/bin/spamassassin
arguments = (&quot;--report&quot;, )
</pre>
<p>
    The
    <span class="file">--report</span>
    option sends the message to the various spam-blocker databases and tags it
    as spam in your bayesian database.
</p>
<p>
    Note that if you are using Bayesian (learning) filtering, and you've put
    your SpamAssassin filter
    <em>after</em>
    any getmail
    <span class="file">Filter_classifier</span>,
    you may have a problem with your learning filter learning getmail's
    header fields.  That is, the headers added by the other filters may get
    learned, and affect your database.  To prevent this, ensure that
    SpamAssassin ignores these fields by adding the following to your
    SpamAssassin configuration:
</p>
<pre class="example">
bayes_ignore_header X-getmail-filter-classifier
</pre>

<h3 id="faq-integrating-clamav">How do I use ClamAV with getmail?</h3>
<p>
    You should also read <a href="http://article.gmane.org/gmane.mail.getmail.user/1486">this message</a>
    in the getmail users' mailing list archives and the ClamAV documentation if
    you want to use ClamAV with getmail.
</p>
<p>
    <a href="http://www.clamav.net/">ClamAV</a>,
    like SpamAssassin, can by used in standalone or client/server
    configurations.  In either case, you need to add the
    <span class="file">StreamSaveToDisk</span>
    option to your
    <span class="file">clamav.conf</span>
    file to enable scanning from stdin.
</p>
<p>
    To use ClamAV without the
    <span class="file">clamd</span>
    daemon, use a filter configuration like this:
</p>
<pre class="example">
[filter]
type = Filter_classifier
path = /usr/local/bin/clamscan
arguments = (&quot;--stdout&quot;, &quot;--no-summary&quot;,
    &quot;--mbox&quot;, &quot;--infected&quot;, &quot;-&quot;)
exitcodes_drop = (1,)
</pre>
<p>
    The above assumes you do
    <em>not</em>
    want the infected emails to be delivered.  If you do want them delivered,
    you would use a slightly different configuration:
</p>
<pre class="example">
[filter]
type = Filter_classifier
path = /usr/local/bin/clamscan
arguments = (&quot;--stdout&quot;, &quot;--no-summary&quot;,
    &quot;--mbox&quot;, &quot;--infected&quot;, &quot;-&quot;)
exitcodes_keep = (0,1)
</pre>
<p>
    To use ClamAV with the
    <span class="file">clamd</span>
    daemon, use a filter configuration like this:
</p>
<pre class="example">
[filter]
type = Filter_classifier
path = /usr/local/bin/clamdscan
arguments = (&quot;--stdout&quot;, &quot;--disable-summary&quot;, &quot;-&quot;)
exitcodes_drop = (1, )
</pre>
<p>
    As with Clamscan (above), if you do want the infected messages delivered
    instead of dropped, you should modify your configuration as follows:
</p>
<pre class="example">
[filter]
type = Filter_classifier
path = /usr/local/bin/clamdscan
arguments = (&quot;--stdout&quot;, &quot;--disable-summary&quot;, &quot;-&quot;)
exitcodes_keep = (0,1)
</pre>
<p>
    You may find it necessary to specify the paths of some decompression
    utilities used by ClamAV with additional arguments like:
</p>
<pre class="example">
arguments = ( &hellip;,
    &quot;--unzip=/usr/local/bin/unzip&quot;,
    &quot;--unrar=/usr/local/bin/unrar&quot;,
    &quot;--unarj=/usr/local/bin/unarj&quot;,
    &quot;--lha=/usr/local/bin/lha&quot;,
    &quot;--jar=/usr/local/bin/unzip&quot;,
    &quot;--tar=/usr/bin/tar&quot;,
    &quot;--tgz=/usr/bin/tar&quot;
</pre>
<p>
    Note: if you want to use the daemonized (client/server) version of ClamAV,
    ensure that your
    <span class="file">clamav.conf</span>
    file contains:
</p>
<pre class="example">
ScanMail
</pre>
<p>
    The paths to the various decompression utilities must be specified in this
    file as well.
</p>
<p>
    See the following mailing list message from Frankye Fattarelli for
    additional notes on using ClamAV with getmail:
    <a href="https://marc.info/?l=getmail&amp;m=109128345509273&amp;w=2">https://marc.info/?l=getmail&amp;m=109128345509273&amp;w=2</a>
</p>

<h4 id="faq-integrating-clamav-prettier">Getting prettier output from ClamAV</h4>
<p>
    Using getmail's Filter_classifier, the output of your filtering program
    (in this case ClamAV) is placed into a
    <span class="file">X-getmail-filter-classifier:</span>
    header field in the message.  This can make auditing the actions of
    filters difficult if you use multiple filters and cannot tell which
    filter added which line.
</p>
<p>
    To correct this, you can use an additional filter to change the name of
    the added filter header lines immediately after each filter is run.
    For example,
    <span class="file">reformail</span>,
    from the
    <a href="http://www.flounder.net/~mrsam/maildrop/">maildrop</a>
    package (which is in turn part of the
    <a href="http://www.courier-mta.org/">Courier MTA</a>
    ) can be used in this fashion to rename the added header fields
    (say, to &quot;X-mypersonalmailscan&quot;) with a filter configuration
    like this:
</p>
<pre class="example">
type = Filter_external
path = /usr/local/bin/reformail
arguments = (&quot;-R&quot;, &quot;X-getmail-filter-classifier:&quot;,
    &quot;X-mypersonalmailscan:&quot;)
</pre>
<p>
    Simply ensure ClamAV is invoked as the first filter, and this is invoked
    as the second filter (or immediately after the ClamAV filter, if it is
    the second, third, etc. filter).
</p>

<h3 id="faq-integrating-fprot">How do I use F-Prot with getmail?</h3>
<p>
    getmail user Kai Raven reports that getmail and F-Prot work fine together
    with the following getmailrc filter configuration:
</p>
<pre class="example">
[filter]
type = Filter_external
path = /usr/local/bin/f-prot-wrapper.sh
</pre>
<p>
    The wrapper script
    <span class="file">f-prot-wrapper.sh</span>
    is a small shellscript by Ali Onur Cinar, and
    <a href="http://www.zdo.com/articles/res/f-prot-wrapper.sh">can be downloaded from his website</a>.
</p>

<h3 id="faq-integrating-procmail">How do I use procmail with getmail?</h3>
<p>
    Simply invoke
    <span class="file">procmail</span>
    as an
    <a href="configuration.html#destination-mdaexternal">external MDA</a>.
    <span class="file">procmail</span>
    requires that one of the following be true:
</p>
<ul>
    <li>
        that the message begin with a Unix &quot;From &quot; line
        (the mbox message delimiter)
    </li>
    <li>
        that
        <span class="file">procmail</span>
        is invoked with the
        <span class="file">-f</span>
        option supplying the envelope sender, so that it may generate the
        &quot;From &quot; line
    </li>
</ul>
<p>
    To have getmail generate and prepend the &quot;From &quot; line to the
    start of the message, set the MDA_external
    parameter
    <span class="file">unixfrom</span>
    to True:
</p>
<pre class="example">
[destination]
type = MDA_external
path = /path/to/procmail
unixfrom = True
</pre>
<p>
    To supply the
    <span class="file">-f</span>
    option to procmail, do something like this:
</p>
<pre class="example">
[destination]
type = MDA_external
path = /path/to/procmail
arguments = (&quot;-f&quot;, &quot;%(sender)&quot;)
</pre>

<h3 id="faq-integrating-maildrop">How do I use maildrop with getmail?</h3>
<p>
    Simply invoke maildrop as an
    <a href="configuration.html#destination-mdaexternal">external MDA</a>.
    maildrop requires that the message begin with a Unix &quot;From &quot; line
    (the mbox message delimiter), so you'll need to either set the MDA_external
    parameter unixfrom to True, or supply arguments that tell maildrop to
    recreate this line. One of the following would be fine:
</p>
<pre class="example">
[destination]
type = MDA_external
path = /path/to/maildrop
arguments = (&quot;-f&quot;, &quot;%(sender)&quot;)
</pre>
<p>
    Or:
</p>
<pre class="example">
[destination]
type = MDA_external
path = /path/to/maildrop
unixfrom = True
</pre>
<p>
    If you want to specify a maildrop rc file as one of its arguments, that
    would be something like:
</p>
<pre class="example">
[destination]
type = MDA_external
path = /path/to/maildrop
arguments = (&quot;-f&quot;, &quot;%(sender)&quot;, &quot;~/.maildroprc&quot;)
</pre>

<h3 id="faq-integrating-tmda">How do I use TMDA with getmail?</h3>
<p>
    Simply use the
    <a href="configuration.html#conf-filters-tmda">Filter_TMDA</a>
    module as a message filter:
</p>
<pre class="example">
[filter-X]
type = Filter_TMDA
</pre>
<p>
    See the documentation for details on optional parameters to the
    <a href="configuration.html#conf-filters-tmda">Filter_TMDA module</a>.
</p>

<h4 id="faq-integrating-gmail">How can I get Gmail labels with getmail?</h4>
<p>
    As of getmail version 4.34.0, getmail retrieves the labels and other metadata
    that Gmail makes available via an IMAP extension, and records that information
    in the message headers
    <span class="file">X-GMAIL-LABELS:</span>,
    <span class="file">X-GMAIL-THRID:</span>,
    and <span class="file">X-GMAIL-MSGID:</span>.
</p>

<!-- ********************************************************************** -->
<h2 id="faq-notabug">I think I found this bug in getmail &hellip;</h2>
<p>
    There are frequent reports like the following, which aren't bugs in getmail.
    Please read them before reporting them as bugs.
</p>

<h3 id="faq-notabug-gmail-bug">getmail doesn't download all my mail from Gmail &hellip;</h3>
<p>
    There's a couple of different problems here.  One is that Google's Gmail service violates
    the POP3 protocol by removing messages from the POP3 view of the mailbox without the user
    issuing a DELE command.  They do this as soon as an RETR command is given, so if getmail
    tries to download a message and it fails for any reason (delivery fails due to a full disk,
    or the Gmail server fails to respond, or the network connection dies before the transfer is
    complete, or the Gmail server fails to respond to the QUIT command, or &hellip;),
    the next time getmail connects to that Gmail account, Gmail will have &quot;helpfully&quot;
    deleted the message from the POP3 mailbox, even though getmail never issued a DELE command.
    So Gmail silently destroys mail, from a POP3 perspective.  There's nothing getmail can do
    about this.
</p>
<p>
    Note this feature of Gmail is <strong>not</strong> well-publicized.  The only mention I
    can find of it is here:
    <a href="http://mail.google.com/support/bin/answer.py?answer=13291&amp;topic=1555">http://mail.google.com/support/bin/answer.py?answer=13291&amp;topic=1555</a>
</p>
<p>
    The other issue here is that Google doesn't include mail from your trash or spam folders in
    the POP3 view, so getmail can't see those messages either.  That's generally less of an issue,
    provided their spam filters never give false positive results (ha!).
</p>

<h3 id="faq-notabug-brokenpopserver">operation error (SimplePOP3Retriever: [...] does not uniquely identify messages [...] see documentation or use BrokenUIDLPOP3Retriever instead</h3>
<p>
    The server you're trying to use does not properly uniquely identify messages
    (getmail noticed when it saw the same &quot;unique&quot; identifier twice in
    the same mailbox at the same time).  getmail needs these identifiers to be
    unique so that it can properly tell the difference between new and old
    messages.
</p>
<p>
    If you see this error message, and you've configured getmail to retrieve
    and immediately delete all messages, just switch to using the
    BrokenUIDLPOP3Retriever class (or its SSL variant) -- it'll work fine.
</p>
<p>
    If you see this error message, and you're trying to leave messages on the
    server after retrieval (permanently, or for a few days with
    <span class="sample">delete_after</span>),
    you have a few options to try to resolve it:
</p>
<ul>
    <li>
        If your provider also offers IMAP access to your mailbox, try one of
        the IMAP retrievers instead.
    </li>
    <li>
        Change your configuration so you're not leaving messages on the server,
        and use BrokenUIDLPOP3Retriever instead.
    </li>
    <li>
        Talk to your mail hosting provider, and see if they can fix their
        POP3 software so that it doesn't have this problem any more.
    </li>
</ul>

<h3 id="faq-notabug-osx-realloc">MemoryError on OS X</h3>
<p>
    If you see errors like this while running getmail on Macintosh OS X:
</p>
<pre class="example">
python2.5(27172) malloc: *** vm_allocate(size=15699968) failed (error code=3)
python2.5(27172) malloc: *** error: can't allocate region
python2.5(27172) malloc: *** set a breakpoint in szone_error to debug
[...]
</pre>
<p>
    ... which then end with <span class="sample">MemoryError</span>,
    please report the problem to Apple.
    The
    <a href="http://bugs.python.org/issue1092502">OS X implementation of realloc() is broken</a>,
    and there's nothing getmail can do about it.
</p>


<h3 id="faq-notabug-gmail-tls-sni">Errors connecting to Gmail with OpenSSL 1.1.1</h3>
<p>
    If you experience connection/SSL errors connecting to Gmail servers, and your OpenSSL
    is version 1.1.1 or higher, the problem is that Gmail is failing the connection on the
    basis that SNI is not in use.  To work around the problem, upgrade to getmail
    v.5.10 or later, or tell getmail to use TLSv1.2 rather than TLS1.3 in your retriever
    configuration and specify TLS v1.2 as the protocol to use:
</p>
<pre class="example">
[retriever]
...
ssl_version = tlsv1_2
</pre>
    </div>
</body>
</html>