Sending attachments within a plugin
Craft 2 uses the PHPMailer library to send emails and the first thing its addAttachment() method does is take the first $path parameter that's passed in and run PHP's is_file() on it.

is_file() won't work on URLs like you're passing in, it expects the file to be on the local file system, so you'll need to download it locally and pass in that path.

It won't show up on the model as an error using $email-&gt;getErrors() because the library catches the exception, does some internal logging and returns false.  Craft doesn't have a change to add that particular error back on its EmailModel.