To sign any data including email, you need a private key of a signer.
It doesn't make any sense to sign email using public key, as it is available to every one. Which means that the signature doesn't prove, that it is the signer that signed the email.