Sample code for 30+ languages & platforms
Java

Load .eml and Decrypt (smime.p7m)

Loads an encrypted email from a .eml file and decrypts using certificate w/ private key found in a .p12 (or .pfx) file.

The Content-Type and Content-Disposition email headers of the email to be decrypted look similar to this:

Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data;
	name="smime.p7m"
Content-Disposition: attachment; filename="smime.p7m"

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;

public class ChilkatExample {

    public static void main(String[] args) {
        Email email = new Email();

        // Add a PFX (or .p12) to be used for decryption
        try {
            email.addPfxSourceFile("myCert.p12", "passwordForP12");

            // Loading the .eml automatically decrypts.
            email.loadEml("encrypted.eml");

            // The email now exists as it was prior to encryption.
            // Your app may access the email's subject, body, attachments,
            // etc. using the Chilkat Email API...

            // Save the decrypted email:
            email.saveEml("decrypted.eml");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Success.");
    }
}