You can't capture emails addressed to yahoo.com since Yahoo's MX records don't point to your server, so they'll never get routed through your postfix service.
If you're trying to create a catchall for a specific domain what you'll need to do is create a Virtual Domain file for postfix
In the virtual file add the following:
@vrk.com with the name of the domain you want to create the catch-all with (in your question this is where
yahoo.com goes - however, as mentioned prior, you can't actually use
yahoo.com as a valid domain since Yahoo's mail doesn't route to you) and the
vinod part should be replaced with the email username that the catch-all should go to.
Once you've created this file you'll need to encode it. That is done simply with the following:
This does all the jazz (encoding, validating, etc) that Postfix needs in order to read it. To finish things up you'll want to add some lines to the configuration file and restart
Open the configuration file with
sudoedit /etc/postfix/main.cf and add this line to the bottom
virtual_alias_maps = hash:/etc/postfix/virtual
Then the restart with
sudo service postfix restart!