# Simple Sendmail with DKIM



## eyeprotocol (Oct 27, 2010)

Hello all. After installing FreeBSD (on which I am a newbie), I am trying to setup an outgoing mail server (not incoming), that will be sending out DKIM signed messaged. There seems to be no clear tutorial on this issue.

I have not personally touched sendmail for over than ten years and I am out of shape. So, here are a couple of questions:

a) How does one rebuild the sendmail.cf file?
b) Why is there no sendmail.mc file (as mentioned on this page: http://brneurosci.org/linuxsetup97.html)?
c) How do I let Sendmail know that it has to use the dkim-milter? Do I need to recompile it or some configuration change will be enough?

No to think I am (too) lazy, I already found out how to:

a) Enable Sendmail
b) Allow relaying from the other machines in my private network
c) Install dkim-milter and enable it at startup
d) Generate dkim keys and putting them at the proper place, in relation to the conf file of dkim-milter.

So, little is left to do, mostly Sendmail-related. Please assist, if possible.

Kind Regards

Panos


----------



## wblock@ (Oct 27, 2010)

eyeprotocol said:
			
		

> Hello all. After installing FreeBSD (on which I am a newbie), I am trying to setup an outgoing mail server (not incoming), that will be sending out DKIM signed messaged. There seems to be no clear tutorial on this issue.
> 
> I have not personally touched sendmail for over than ten years and I am out of shape. So, here are a couple of questions:
> 
> a) How does one rebuild the sendmail.cf file?



By editing the _hostname_.mc and doing
`cd /etc/mail`
`make all install`

Don't edit the .cf file, make changes only to the .mc file and let the Makefile handle building the .cf.  Incidentally, look at /etc/mail/Makefile.  It simplifies many things.



> b) Why is there no sendmail.mc file (as mentioned on this page: http://brneurosci.org/linuxsetup97.html)?



That's a Linux tutorial, which is bound to be different from FreeBSD.

To generate the _hostname_.mc file the first time, just run make():
`cd /etc/mail`
`make`



> c) How do I let Sendmail know that it has to use the dkim-milter? Do I need to recompile it or some configuration change will be enough?



No experience (skeptical about the usefulness of DKIM, I don't run it), but probably the same as other milters, in _hostname_.mc.


----------



## DutchDaemon (Oct 27, 2010)

The DKIM port comes with perfect instructions for this. Just follow those. Tip:

`man -k dkim`


----------



## eyeprotocol (Oct 29, 2010)

DutchDaemon said:
			
		

> The DKIM port comes with perfect instructions for this. Just follow those. Tip:
> 
> `man -k dkim`




```
man -k dkim
dkim: nothing appropriate
```

I have the dkim-milter port installed. Perhaps I (or you) missed something?

Panos


----------



## eyeprotocol (Oct 29, 2010)

wblock said:
			
		

> By editing the _hostname_.mc and doing
> `cd /etc/mail`
> `make all install`



There is no hostname.mc file anywhere in the filesystem.
Note, that this is 8.1 release, clean install with nothing added (except the dkim-milter port i already mentioned).


----------



## wblock@ (Oct 29, 2010)

Read the comments at the start of /etc/mail/Makefile.

_hostname_.mc is created when you first run make(1) in that directory.  "hostname" is that computer's hostname.  I put "hostname" in italics in these posts, but it was not very noticeable, should probably have used bold.


----------



## DutchDaemon (Oct 29, 2010)

eyeprotocol said:
			
		

> ```
> man -k dkim
> dkim: nothing appropriate
> ```
> ...



Not me ..


```
$ pkg_info -IX dkim
dkim-milter-2.8.3_1 Domainkeys Identified Mail (DKIM) milter
```


```
$ man -k dkim
dkim-filter(8)           - DKIM filter for sendmail
dkim-filter.conf(5)      - Configuration file for dkim-filter
dkim-genkey(8)           - DKIM filter key generation tool
dkim-testkey(8)          - DKIM filter installation test
dkim-testssp(8)          - DKIM filter ADSP evaluation tool
dkim-filter(8)           - DKIM filter for sendmail
dkim-filter.conf(5)      - Configuration file for dkim-filter
dkim-genkey(8)           - DKIM filter key generation tool
dkim-testkey(8)          - DKIM filter installation test
dkim-testssp(8)          - DKIM filter ADSP evaluation tool
Mail::DKIM(3)            - Signs/verifies Internet mail with DKIM/DomainKey signatures
Mail::DKIM::Algorithm::Base(3) - base class for DKIM "algorithms"
Mail::DKIM::AuthorDomainPolicy(3) - represents an Author Domain Signing Practices (ADSP) record
Mail::DKIM::Canonicalization::Base(3) - base class for canonicalization methods
Mail::DKIM::Canonicalization::DkimCommon(3) - common canonicalization methods
Mail::DKIM::DkPolicy(3)  - represents a DomainKeys Sender Signing Policy record
Mail::DKIM::DkSignature(3) - represents a DomainKeys-Signature header
Mail::DKIM::DkimPolicy(3) - represents a DKIM Sender Signing Practices record
Mail::DKIM::Policy(3)    - abstract base class for originator "signing" policies
Mail::DKIM::PrivateKey(3) - a private key loaded in memory for DKIM signing
Mail::DKIM::Signature(3) - represents a DKIM-Signature header
Mail::DKIM::Signer(3)    - generates a DKIM signature for a message
Mail::DKIM::SignerPolicy(3) - determines signing parameters for a message
Mail::DKIM::TextWrap(3)  - text wrapping module written for use with DKIM
Mail::DKIM::Verifier(3)  - verifies a DKIM-signed message
Mail::SpamAssassin::Plugin::DKIM(3) - perform DKIM verification tests
```


```
$ pkg_info -W /usr/local/man/man5/dkim-filter.conf.5.gz
/usr/local/man/man5/dkim-filter.conf.5.gz was installed by package dkim-milter-2.8.3_1
```

Try this and this if you must.


----------



## eyeprotocol (Nov 1, 2010)

wblock said:
			
		

> Read the comments at the start of /etc/mail/Makefile.
> 
> _hostname_.mc is created when you first run make(1) in that directory.  "hostname" is that computer's hostname.  I put "hostname" in italics in these posts, but it was not very noticeable, should probably have used bold.



My bad. Actually, you could have used <hostname>.mc (suitable for console browsers as well ).
In any case, thank you very much for your post. Everything is working now.



@DutchDaemon

It still displays:

```
man -k dkim
dkim: nothing appropriate
```


----------

