Diffie-Hellman key agreement requires you to exchange messages to agree upon a (master) secret. As email is for conversations between humans, DH-key agreement is generally not used for keeping mail confidential. Instead the data is commonly encrypted using hybrid encryption, using for instance a combination of RSA and AES encryption.
For this to work the sender has to trust the public key of the receiver. This is commonly accomplished using certificates within a PKI scheme such as PKI-X. PKI-X is well known as it is also used by your browser; it's a hierarchical way of establishing trust in certificates containing the public keys of the owners of the certificate. Other schemes of establishing trust is a web-of-trust, where multiple persons show their trust in certain certificates. PGP is the most prevalent use of a web of trust.
If the message also needs to be signed then you have to trust the public key of the sender. The method of establishing trust is identical.
Public and private keys are part of a key pair. There is no way of generating them separately: the key pair is generated by performing key pair generation. The private key is always kept at one party. This party distributes the public key so it can be signed by others, establishing the trust. The public key can then be distributed to any other party in any way. With email you could simply send a signed certificate containing the public key, the owner, expiry date (etc. etc.).
Finally the mail message needs to be send using a well known format. These formats can be CMS for PKI-X certificates and of course OpenPGP for PGP certificates.
If you want to see where key agreement is used you'd better look at the DH_, DHE_, ECDH_ and ECDHE_ ciphersuites in TLS versions 1.2 and 1.3; they are commonly used for transport security in other words.